duanchongzi9997 2015-12-29 23:11 采纳率: 0%
浏览 55
已采纳

UNDEFINED - PHP与jQuery AJAX的多个返回值

Because I get undefined. Where I am failing?

Code:


    function add(id,cost){
            var info = {
                    "id" : id,
                    "cost": cost,
            };
            $.ajax({
                    data:  info,
                    url:   'a.php',
                    type:  'post',
                    success:  function (datos) {
                             alert(datos+"
 r1: "+datos.r1+"
 r2:"+datos.r2);
                    }
            });
    }

archive a.php PHP:


    $cost=$_POST['id']*$_POST['cost'] + 137;
    echo json_encode(array("r1" =>$_POST['id'], "r2" => $cost));

image

  • 写回答

2条回答 默认 最新

  • dongyuan2388 2015-12-29 23:18
    关注

    Why do you think $.ajax will understand datos as a JSON? You need to specify it, you can do it using several ways.

    Parsing it

        success:  function (datos) {
          datos = JSON.parse(datos);
          alert(datos+"
     r1: "+datos.r1+"
     r2:"+datos.r2);
        }
    

    Specifying in $.ajax itself

    $.ajax({
                        data:  info,
                        url:   'a.php',
                        type:  'post',
                        dataType:"json",
          ....
    

    Setting header in PHP (doesn't work for < IE8)

    header('Content-Type: application/json');
    

    I would suggest you to use a combination of first one and third one. Lets not leave any stone unturned.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)