1

在 ajax 返回中,我得到 json 作为

[{"colourname":"red,yellow"}]

我想"red,yellow"从 json 中获取字符串,

ajax 调用 se ,

$.ajax({
    type: "POST",
    url: "loadData.php",
    data: {
        productid: 'getId'
    }
}).done(function (msg) {
    alert('get ' + msg);
});

我试过了 ,

msg[0].colourname  
msg["colourname"]

没有任何效果我如何访问值?

4

2 回答 2

6

$.ajaxin返回的响应done是原始字符串,而不是 JavaScript 对象。dataType: 'json'在 ajax 配置中设置,jQuery并将 JSON 解析msg为 JavaScript 对象。

$.ajax({
        type : "POST",
        url : "loadData.php",
        data : {
        productid : 'getId'
        },
        dataType: 'json', 
}).done(function(msg) {
     alert('get '+msg);
});

dataType如果您发送服务器响应,则不需要显式设置Content-Type: application/json

顺便说一句,你应该使用一个数组colourNames{"colournames":["red","yellow"] }

于 2013-11-11T06:56:20.520 回答
1

尝试这个

$.ajax({
    type: "POST",
    url: "loadData.php",
    dataType: 'json'
    data: {
        productid: 'getId'
    }
}).done(function (msg) {
    alert('get ' + msg);
});
});
于 2013-11-11T06:57:22.960 回答