这是我的ajax形式,
$.ajax({
type: "POST",
url: "update_coordinate.php",
data:
'id=' +$id+
'name=' +$name+
'wname=' +$wname+
'xcor=' +$xcor+
'ycor=' +$ycor+
'xwid=' +$xwid+
'yhei=' +$yhei+
'photo=' +$photo+
'targeturl=' +$targeturl,
success: function(data){
alert(
' id:' +$id+
' name:' +$name+
' wname:' +$wname+
' xcor:' +$xcor+
' ycor:' +$ycor+
' xwid:' +$xwid+
' yhei:' +$yhei+
' photo:' +$photo+
' targeturl:' +$targeturl
);
alert(data);
}
});
警报显示所有数据,问题是php方面似乎没有读取值,我不确定我是否遗漏了某些东西。
这很有意思:在搞乱的时候,我不知何故得到了包含等号的名字字段中输入的整个连接字符串......怎么会发生这种情况?
我拿出了if(post)参数,该参数在使用方法发布和提交按钮将html表单提交到同一页面时使用。我不知道那是不是坏事。
我尝试了这两个
if(isset($_POST['id'])){
$id = $_POST['id'];
}else {
$id = "";
}
$name = $_POST['name'];
获取错误未定义的索引:其余的名称是正确的,因为我指定了一个空的
的任意字符串值我错过了什么?
答案 0 :(得分:1)
使用jQuery Post:
$.post( "update_coordinate.php", {
'id':$id,
'name':$name,
'wname':$wname,
'xcor':$xcor,
'ycor':$ycor,
'xwid':$xwid,
'yhei':$yhei,
'photo':$photo,
'targeturl':$targeturl
}).done(function( data ) {
alert( "Server Response: " + data );
});
因为这将正确发送POST数据,因为每次我尝试使用ajax并拥有数据字符串时,由于服务器认为它是一个url / query字符串,它似乎总是作为GET发送。
此外,通过执行上述操作,您可以轻松地将JS数组发送到PHP或其他对象。
答案 1 :(得分:1)
您缺少的是如何格式化JSON。 " +"运算符将所有内容连接成一个字符串。 JSON的格式为{propertyname}:{value}
$.ajax({
type: "POST",
url: "update_coordinate.php",
data: {
'id' : $id,
'name': $name,
'wname': $wname,
'xcor': $xcor,
'ycor': $ycor,
'xwid': $xwid,
'yhei': $yhei,
'photo': $photo,
'targeturl': $targeturl
},
success: function(data){
alert(
' id' +$id+
' name:' +$name+
' wname:' +$wname+
' xcor:' +$xcor+
' ycor:' +$ycor+
' xwid:' +$xwid+
' yhei:' +$yhei+
' photo:' +$photo+
' targeturl:' +$targeturl
);
alert(data);
}
});