【发布时间】:2015-07-19 16:23:40
【问题描述】:
我正在尝试使用 Jquery 函数 getJSON() 查询一个 RESTful API。我正在查询的 URL 肯定会返回一个 json 对象,我通过在 Web 浏览器中请求 URL 来检查这一点。
这是导航到 url 时在网络浏览器中显示的内容:
这是我用来查询 URL 的 Jquery 脚本:
$(document).ready(function(){
$.getJSON("http://ip-address:7878/v2/server/status?token=B20023A49BA...", function(data){
$(".statsContainer").innerHTML = data.name;
}).error(function(jqXHR, textStatus, errorThrown){ /* assign handler */
alert("error occurred!");
});
});
目前我只是尝试在页面加载时将“名称”的值添加到 HTML 实体。但我每次都会收到一个错误和警告框。
我在检索这个 json 对象时做错了什么?
编辑:已使用开发人员工具添加了内容类型的屏幕截图。
我也尝试过将纯文本转换为 json 的 ajax 调用,但没有成功:
$(document).ready(function(){
$.ajax(
{
type: "GET",
url : "http://ip-address:7878/v2/server/status?token=B20023A49BA9B...",
data : result,
// if transaction was successful check if logic completed
success: function(result)
{
var obj = jQuery.parseJSON(result);
alert( obj.name );
},
// if transaction failed show an error to the user
error: function(jqXHR, textStatus, errorThrown)
{
alert(textStatus);
}
});
});
编辑:这是从“errorThrown”返回的错误。
编辑:为什么将“&callback-jQuery..”附加到 url 的末尾,这是正确的吗?
编辑:这是标题:
【问题讨论】:
-
在浏览器中加载时得到的响应内容类型是什么。是 Content-Type:application/json 吗?
-
我怎样才能找到这个?
-
检查web开发者工具,F12 -> network -> XHR
-
我已经更新了我的问题
-
听起来像是跨域 CORS 问题。需要检查正确的 CORS 标头是否可用,或者查看 API 是否提供 jsonp。也了解
same origin policy。研究这些术语和每天都会出现的问题不会有任何问题
标签: javascript jquery json api rest