【发布时间】:2014-01-11 06:08:52
【问题描述】:
在这个脚本中,数据被发送,但它不发送变量的更新值。硬编码数据按预期发送。我该如何解决或绕过它?
username = ''; // supposedly these variables are global
tree_name = ''; // I also tried plugging in- $('#username').data("username") -directly.. same results.
$(function() {
username = $('#username').data("username"); // updating value
tree_name = $('#tree_name').data("tree_name"); // idem....
});
var options = {
type: "POST",
url: "/decision/p_tree2/",
data: {
username: username, // this should send the data
tree_name: tree_nam // ...
},
success: function(response) {
console.log(response);
}
};
$("form").ajaxForm(options);
PHP:
public function p_tree2 (){
$data = Array();
$data['username'] = $_POST['username'];
$data['tree_name'] = $_POST['tree_name'];
echo print_r($data); // result: both $data['username'] and $data['tree_name'] equal ""
}
【问题讨论】:
-
这可能是函数的定位,一个在另一个之前可能会导致问题。例如 PHP 函数在创建之前从其他函数调用数据,反之亦然
-
放置这些函数的位置很重要。在这种情况下,您不会将 AJAX 表单代码放入 jQuery
ready代码块中。试着先摆正他们的位置。 -
究竟哪个是 jQuery “就绪”代码块?.. 谢谢
-
考虑提供您在这个问题中使用的 html 代码块。