如何拆分ajax结果

时间:2017-02-09 19:51:06

标签: javascript php jquery html ajax

$("select#product-id").change(function(){
    $("input#product-name").val("Loading...");
    var value = $(this).val();
    console.log(value);
    $.ajax({
        url: "http://localhost/a/ac/submits/purchase-entry-data.php",
        data: {
            product_id : value
        },
        type: "POST",
        success: function(data){
            $("input#product-name").val(data);
            //$("input#product-name").val(data.productDesc);
            //$("input#product-name").val(data.productSize);
        },
        error: function (){
            $("input#product-name").val("No Data Available");
        }
    });
});

我想在两个地方使用ajax结果(ajax结果中有两个值1.产品名称,2。产品尺寸)。
那么如何在php中将这两个不同的值分开。

1 个答案:

答案 0 :(得分:3)

这取决于您如何将data返回给ajax。有几种方法可以做到这一点。

使用split

purchase-entry-data.php文件中,您可以使用分隔符返回数据,然后使用split获取这两个值。只需确保使用的分隔符不会包含在返回的数据中。我在这里使用了pipe

echo "productDesc|productSize";

然后在jquery中,您可以将其拆分并访问数组中的每个元素

var result= $(data).text().split('|');
var productDesc = result[0];
var productSize = result[1];

使用JSON

在你的php文件中返回数组中的数据和JSON

<?php
$arr = array('productDesc' => 'Description', 'productSize' => 'Size');
echo json_encode($arr);
?>

然后在jquery中访问它

data = $.parseJSON(data);