0
在这个脚本中,数据被发送,但它不发送变量的更新值。按预期发送硬编码数据。我该如何解决这个问题或者绕过它?AJAX不发送数据到PHP
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函数在创建之前从其他函数调用数据,反之亦然 – BuddhistBeast
您放置这些函数的地方很重要。在这种情况下,你不会将AJAX表单代码放入jQuery'ready'代码块中。尝试先让他们的位置正确。 – Licson
jQuery“ready”代码块究竟是什么?..谢谢 – JeanAlesi