我从这个AJAX调用得到undefined index(return data)
。我哪里做错了?请纠正我。
$(document).ready(function() {
$('#something').click(function() {
edit(1, 'abc', 'xyz');
});
function edit(id, column, text) {
$.ajax({
url: "edit.php",
method: "POST",
data: {
id: id,
text: text,
column: column
},
dataType: "text",
success: function(data) {
console.log(data);
}
});
}
});
edit。
echo $_POST["id"];
我在控制台得到这个:
注意:未定义索引:id在C:'xampp'htdocs'datatable'edit.php on line 2
尝试使用
类型:"POST"
代替
方法:"POST"
...$.ajax({
url: "edit.php",
type: "POST",
data: {
id: id,
text: text,
column: column
}.....
它仍然类作为一个GET请求与这个吗?我认为这是因为你的jQuery版本。
从docs
type (default: 'GET')
Type: String
An alias for method. You should use type if you're using versions of jQuery prior to 1.9.0.
我认为问题是由于你写json数组键的方式。
尝试使用双引号从data json的键,像这样:
data:{"id":id, "text":text, "column":column}
试试这个,如果你想用PHP $_POST获取它,你可以添加内容类型json。我不确定这一点,但它在我的Angular
function edit(id, column, text) {
$.ajax({
url: "edit.php",
method: "POST",
data: {
id: id,
text: text,
column: column
},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
console.log(data);
}
});
}
请尝试使用此代码
/* start */
$(document).ready(function() {
$('#something').click(function() {
var sendData = {
url : '1',
method : 'abc',
column : 'xyz'
};
edit(sendData);
});
function edit(id, column, text) {
$.ajax({
type: "POST",
url: "edit.php",
data: sendData,
success: function(response){
console.log(data);
}
});
}
});
/* end */
我认为url: "edit.php"在您的服务器中没有访问。
通常,如果你在你的服务器本地;将url改为:
" http://localhost/yourproject/edit.php "。 $.ajax({
url:"http://localhost/yourproject/edit.php",
method:"POST",
data:{id:id, text:text, column:column},
dataType:"text",
success:function(data){
console.log(data);
}
});
您使用的是哪个版本的JQuery ?试着改变
method: "POST",
type: "POST",