我有以下设置:
两个本地域192.168.30.1 - >带有JSON数据的Web服务器和我希望处理数据的169.254.168.105:3000。
网络服务器通过php显示数据,您必须通过身份验证才能查看数据。所以网址看起来像这样:" http://192.168.30.1/rest/activity14?auth_username=username&auth_password=password"
如果我在浏览器中输入此内容,请获取以下输出:
{
people: [
{
id: "58107d10ad910",
name: "name"
}
],
documents: [
{
document_id: "5811f9b306216",
name: "document1"
}
]
}
我需要在其他域上使用它。所以我试图通过jQuery ajax获取数据,但似乎无论如何我都无法得到它。我尝试了以下ajax调用:
$.ajax({
type: "GET",
url: $url,
dataType: 'json',
success: function(data) {
console.log("success" );
},
error: function(e) {
console.log("Error: " + e);
}
});
导致控制台出错("错误:[对象对象]")。
所以我尝试了不同的方法。我试过getJSON:
$.getJSON( $url, function(data) {
console.log("success");
}).error(function(e) {
console.log(e);
});
它甚至没有给出错误信息。
我还阅读了关于jsonp并将其用于跨域json调用。以下方法
function logResults(json) {
console.log("json" + json);
}
$.ajax({
url: $url + "callback=logResults?",
dataType: "jsonp",
jsonpCallback: "logResults",
error: function(e) {
console.log("Error: " + e);
}
});
也没有用。在deloper工具网络选项卡中,我发现了以下关于jsonp调用的信息(状态:已取消):
General:
Request URL:http://192.168.30.1/rest/activity14? auth_username=kusername&auth_password=password&callback=logResults?&callback=logResults&_=1478083606031
Request Headers:
Provisional headers are shown
Referer:http://169.254.168.105:3000/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Query String Parameters:
auth_username:username
auth_password:password
callback:logResults?
callback:logResults
_:1478083606031
我无法解释这一点,但也许这有助于找到我的问题。
对于我的具体案例,什么是正确的方法,如果我已经以正确的方式做了什么我到底做错了什么?
编辑:
这是普通JSON请求(而不是jsonp请求)的DevTools网络选项卡中的输出:
General:
Request URL:https://rippleapi.herokuapp.com/xhr_proxy?tinyhippos_apikey=ABC&tinyhippos_rurl=http%3A//192.168.33.10/rest/activity14%3Fauth_username%3Dusername%26auth_password%3Dpassword
Request Headers:
Provisional headers are shown
Access-Control-Request-Headers:x-ripple-user-agent
Access-Control-Request-Method:GET
Origin:http://169.254.168.105:3000
Referer:http://169.254.168.105:3000/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
Query String Parameters:
tinyhippos_apikey:ABC
tinyhippos_rurl:http://192.168.33.10/rest/activity14?auth_username=username&auth_password=password
答案 0 :(得分:0)
您要查询的端点应该返回编码对象而不是已解析的对象。如果您使用的是PHP,请尝试json_encode()