我想通过ajax发送数据到其他页面。我已经把问题分离出来了。这是代码
谢谢你们的帮助,但是没有效果。
<更新代码/strong>
工作…
<script>
$(document).ready(function(){
$(".edit").click(function(event) {
event.preventDefault(); //<--- to prevent the default behaviour
var box = 1233;
var size=123;
var itemname=123;
var potency=123;
var quantity=12333;
var dataString ={
'box' :box,
'size':size ,
'itemname':itemname,
'potency':potency,
'quantity':quantity
};
$.ajax({
url: "dd.php",
type: "post",
data: dataString,
success: function(data) {
alert(data);
},
error: function(data) {
alert(data);
}
});
});
});
</script>
点击链接,它会导航到dd。php里面有
<?php
echo json_encode(array('itemcode'=>$_POST['itemname']));
echo $_POST['itemname'];
?>
我得到Object Object作为alert。我做错了什么?
$(document).ready(function(){
$(".edit").click(function(event) {
event.preventDefault();
var data = {"box":1233,
"size":565,
"itemname":565,
"potency":876,
"quantity":234};
$.ajax({
url: "dd.php",
type: "post",
data: data,
dataType: "json",
success: function(data) {
if(console){
console.log(data);
}
},
error: function(data) {
if(console){
console.log(data);
}
}
});
});
});
有几件事需要考虑…您可以将数据作为object..发布,这样更干净,更容易使用
$(".edit").click(function(event) {
event.preventDefault(); //<--- to prevent the default behaviour
var box = 1233;
....
var dataString ={'box':box,'size':size,'itemname':itemname,'potency':potency,'quantity':quantity};
$.ajax({
url: "dd.php",
type: "post",
data: dataString,
dataType: "json", //<--- here this means the response is expected as JSON from the server
success: function(data) {
alert(data.itemcode); //<--here alert itemcode
},
error: function(data) {
alert(data);
}
});
所以你需要在PHP中以json形式发送响应
<?php
echo json_encode(array('itemcode'=>$_POST['itemname']))
?>
您使用的是在GET请求中发送的querystring
如果您想以相同的形式发送数据,您可以将其用于GET请求类型:
$.ajax({
url: "dd.php"+dataString,
type: "get",
dataType: "json",
success: function(data) {
console.log(data);
alert(data.itemcode);
},
error: function(data) {
alert(data);
}
});
或者对于POST请求,你必须把数据放在json对象形式,所以你可以使用:
var dataString ={
'box' :box,
'size':size ,
'itemname':itemname,
'potency':potency,
'quantity':quantity
};
$.ajax({
url: "dd.php",
type: "post",
data: dataString,
dataType: "json",
success: function(data) {
console.log(data);
alert(data.itemcode);
},
error: function(data) {
alert(data);
}
});
});
并在php代码中添加echo:
<?php
echo json_encode(array('itemcode'=>$_POST['itemname']))
?>
Javascript alert显示[Object Object]为Object。您可以使用console.log
查看响应,也可以将该键与alert一起使用。
更多信息,请参考jQuery.ajax()