ajax link json数据类型调用

时间:2013-05-14 16:29:04

标签: php jquery ajax

我想通过ajax将数据发送到其他页面。我已经解决了这个问题。这是代码。

谢谢大家的帮助。但没有效果..

更新代码

有效......

<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视为警报。怎么了?请点亮这里..谢谢你..

3 个答案:

答案 0 :(得分:1)

$(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);
}
            }
            });
        });
    });

答案 1 :(得分:1)

很少有事情需要考虑......你可以将数据发布为对象......它干净且易于使用

$(".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']))
?>

答案 2 :(得分:1)

这里使用的是在GET请求中发送的查询字符串。

如果要以相同的形式发送数据,可以将其与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);
            }
            });
        });

将echo放在你的php代码中:

<?php

echo json_encode(array('itemcode'=>$_POST['itemname']))

?>

Javascript警报显示对象的[对象]。您可以使用console.log查看回复,也可以将该密钥用于提醒。

有关详细信息,请参阅jQuery.ajax()