很难解析jsonp结果

时间:2015-04-10 15:40:54

标签: jquery ajax

这真令人沮丧。我得到了一个jsonp结果跨域,我可以看到它穿过电线。

我的ajax功能是

function loadPropertylatlon(propertyid) {
var mydata;

$.ajax({
    crossDomain: true,
    url: "/MapData.asmx/GetLatLonp",
    type: "POST",
    data: { id : propertyid },
    //async: false,
    cache: true,
    contentType: "application/json;",
    dataType: "jsonp",
    success: function (data, textStatus, jqXHR) { //
        mydata = data;
    },
    error: function (xmlHttpRequest, textStatus, errorThrown) {
        console.log(xmlHttpRequest.responseText);
        console.log(textStatus);
        console.log(errorThrown);
        alert("Screen shot this error GetLatLon: " + jqXHR.toString() + " " + textStatus.toString() + " " + errorThrown.toString());
    }
});
return mydata;
}


// Load data from ajax        
latlondata = loadPropertylatlon(GetQueryStringParams('id'));

如果我将来自通话的数据字符串化,我就会得到这个。

[{"lat":"25.555555","lon":"-80.555555","address":"1 main st, MIAMI, FL 33130","id":0,"count":0,"state":null}]

我遇到的问题是,如果我试图访问latlondata [0] .lat我什么都没得到。

如果I $。使用ajax调用中的数据,就像这样

$.each(data, function (i, value) {
            console.log('Value of ' + i + ' is : ' + value);
            $.each(value, function (ii, vvalue) {
                console.log('obj Value of ' + ii + ' is : ' + vvalue);

            })
        })

我得到

的输出
Value of 0 is : [object Object]
obj Value of lat is : 25.854073
obj Value of lon is : -80.174575
obj Value of address is : 1105 ne 85th st, MIAMI, FL 33138
obj Value of id is : 0
obj Value of count is : 0
obj Value of state is : null

问题是数据在我的功能之外没有正确返回。

如果我尝试将其字符串化,我会得到一个未定义的。

// Load data from ajax        
latlondata = loadPropertylatlon(GetQueryStringParams('id'));
// latlondata is undefined.. why?
alert(JSON.stringify(latlondata));

0 个答案:

没有答案