jQuery ajax调用接收text / plain

时间:2011-06-27 05:48:15

标签: jquery ajax

我正在使用这个jQuery AJAX调用谷歌的ClientLogin。

$.ajax({ url:"https://www.google.com/accounts/ClientLogin", 
         type:"POST", 
         data:{'Email': 'myusername', 
               'Passwd': 'mypassword', 
               'service': 'fusiontables', 
               'accountType': 'HOSTED_OR_GOOGLE'}, 
         dataType:"jsonp", 
         success:function(data){ console.log("Hurrah!"); }, 
         error:function(e){ console.log(e); }
});

问题是,ClientLogin不返回JSON,而是返回text / plain。所以我收到以下错误:

SID=blahblah
LSID=blahblah
Auth=blahblah

ClientLogin:3 Uncaught SyntaxError:意外的令牌ILLEGAL。

如何解析此响应并获取Auth =值?

2 个答案:

答案 0 :(得分:2)

JSON-P用JavaScript包装数据以绕过same origin policy

无法使用客户端JavaScript从第三方网站读取任意数据。

如果需要,可以通过您自己的服务器代理数据。

答案 1 :(得分:1)

您可以使用专用于此用途的PHP代理。使用您的域对您的PHP代理进行Ajax调用。然后使用php curl函数从Google进行身份验证。