使用ajax发送数据,来自Server Side PHP的空白响应

时间:2014-08-23 13:26:05

标签: php jquery ajax cakephp-2.0

我使用Ajax将数据发送到PHP。 但空白结果收到。

客户端代码

 <script>
     //on click of a button, Below jQuery Ajax code running.
      var prodStock= $("#product").html(); 
            $.ajax({
                data: prodStock,
                url: url,
                type: 'POST',
                async: false,
                success: function(response) {
                    if (response) {
                        alert(response);
                    }
                }
            });
    </script>

    <?php 
        foreach($data['Products'] as $val){
            $pro.= $val['product_id'].':'.$val['quantity'].',';
        }
    ?>  
    <div id='product'>{<?php echo rtrim($pro, ',');?>}</div>

浏览器捐赠:

<div id="product">{18:1,10:1}</div>

服务器端代码

public function update(){
    if ($this->RequestHandler->isAjax()) {
        print_r($this->request->data);
    }
}

测试

如果我在ajax中静态发送data: {18:1,20:1},,那么工作正常。返回Array。

1 个答案:

答案 0 :(得分:0)

替代解决方案,我尝试过并取得了成功。

客户端代码:

<script>
     //on click of a button, Below jQuery Ajax code running.
     <?php 
        foreach($data['Products'] as $val){
            $pro.= $val['product_id'].':'.$val['quantity'].',';
        }
    ?>  

      var prodStock= $("#product").html(); 
            $.ajax({
                data: <?php echo "{".rtrim($pro, ',')."}";?>,
                url: url,
                type: 'POST',
                async: false,
                success: function(response) {
                    if (response) {
                        alert(response);
                    }
                }
            });
    </script>