这是我的代码:
var what = "some/url/path..."
$(document).ready(function () {
var _getInfo = function getInfo(what) {
$.ajax({
type: 'GET',
url: what,
crossDomain: true,
//data: "{}",
async: false,
jsonpCallback: 'jsonpCallback',
dataType: 'jsonp',
contentType: 'application/json',
success: function (data) {
console.log("Data found: " + data.responseText);
},
error: function (data) {
console.log("Data not found: " + data.responseText);
}
});
};
var retVal = JSON.parse(_getInfo(networksURL));
console.log("Return Value: " + retVal);
});
JSON 对象在调试器的 NETWORKS 选项卡下很好地返回......没有问题......但是......这是一个很大的但是,JSON 对象不会通过上面的代码在 console.log 中显示。有什么想法吗???
哦,是的,我收到了这个错误: Uncaught SyntaxError: Unexpected token u at the line that contains: var retVal = JSON.parse(_getInfo(networksURL));
谢谢
更新:
好的,错误消失了,但我仍然在 NETWORKS 选项卡下的 CHROME 调试器中得到这个:
0: {id:23ef0d23-0d8d-4466-98da-81ef30791773, networkType:1, controllerIp:10.255.135.22, redirectType:0,…} controllerIp: "10.255.135.22" id: "23ef0d23-0d8d-4466-98da-81ef30791773 “ 名称:“n1” networkCost:1351 networkType:1 networkWeight:64888 注释:“这是网络 1 的网络”redirectType:0 1:{id:8e2822b1-49a8-498e-979b-2849cfa82148,networkType:1,controllerIp: 10.255.150.24, redirectType:0,…} 2: {id:678b4a01-a6a6-449f-966d-c50c74964729, networkType:2, controllerIp:10.255.150.22, redirectType:0,…} 3: {id:b4b46748-511a- 49bf-9d22-8da014c76cc2,networkType:3,controllerIp:10.255.654.22,redirectType:0,...}
这就是返回的内容......完美,但这是在控制台日志中:
未找到数据:未定义
有什么想法吗?
再次更新:
好的,这就是我现在得到的:
0: {id:23ef0d23-0d8d-4466-98da-81ef30791773, networkType:1, controllerIp:10.255.135.22, redirectType:0,…} 1: {id:8e2822b1-49a8-498e-979b-2849cfa82148, networkType:1, controllerIp:10.255.150.24, redirectType:0,…} 2: {id:678b4a01-a6a6-449f-966d-c50c74964729, networkType:2, controllerIp:10.255.150.22, redirectType:0,…} 3: {id:b4b46748- 511a-49bf-9d22-8da014c76cc2,networkType:3,controllerIp:10.255.654.22,redirectType:0,…}
这是上面相同的 JSON 对象,现在在控制台日志中:
未找到数据:未定义返回值:
空无属性
好吧,我最终需要的是通过 responseText 或 data.responseText 返回的 JSON 对象。
但我相信你在正确的轨道上,到目前为止......谢谢,让我们继续