2

我想通过 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'];

?>

我得到对象对象作为警报。做错了什么?请在这里放一些光..谢谢你..

4

3 回答 3

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);
}
            }
            });
        });
    });
于 2013-05-14T16:40:53.033 回答
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']))
?>
于 2013-05-14T16:42:17.303 回答
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()

于 2013-05-14T16:48:23.080 回答