Javascript ';未捕获语法错误:意外标记:';在JSONPAJAX请求中
我已经读了很多类似问题的答案,但没有找到适合我的正确解决方案,所以我不得不问。这是我的密码:Javascript ';未捕获语法错误:意外标记:';在JSONPAJAX请求中,javascript,jquery,oauth-2.0,jsonp,xss,Javascript,Jquery,Oauth 2.0,Jsonp,Xss,我已经读了很多类似问题的答案,但没有找到适合我的正确解决方案,所以我不得不问。这是我的密码: $.ajax({ url: 'http://beta.zelenaposta.sk/oauth/request-token', dataType: 'jsonp', type: 'POST', contentType: 'application/x-www-form-urlencoded', data: { oauth_consumer_key:
$.ajax({
url: 'http://beta.zelenaposta.sk/oauth/request-token',
dataType: 'jsonp',
type: 'POST',
contentType: 'application/x-www-form-urlencoded',
data: {
oauth_consumer_key: some_value,
oauth_signature: some_other_value,
oauth_signature_method: 'PLAINTEXT'
}
}).done(function(data) {
console.log(data);
}).fail(function(jqXHR,errorThrown, data){
console.log(errorThrown);
console.log(jqXHR.responseText);
console.log(jqXHR.status);
})
以下是如何获取请求令牌:
POST /oauth/request-token HTTP/1.1
Host: zelenaposta.sk
Content-Type: application/x-www-form-urlencoded
oauth_consumer_key=some_value&
oauth_signature=some_other_value&
oauth_signature_method=PLAINTEXT
此请求发送此响应(如果成功):
下面是我得到的错误:
errorThrown=parserrorjqXHR.responseText=null
未捕获的语法错误:意外标记:
我怎样才能消除这些错误?由于跨站点脚本,我需要使用JSONP,并且我无法访问发布请求的服务器。我非常感谢任何帮助。我也遇到了同样的问题,结果是有一些特殊字符导致了解析错误:无法解析字符/子字符串,如“/”、“/n”、“/t”。我所做的是在返回JSON之前替换WebMethod函数
json = json.Replace("\\n", "\\\\n");
json = json.Replace("\\t", "\\\\t");
json = json.Replace("\\\"", "\\\\\"");
请注意其中的反斜杠数:)
我发现了使用Firefox和Firebug的问题所在,这个错误比Chrome控制台给我的信息要详细得多。一个非常有用的提示是发生解析错误的确切列,它帮助我找到了字符。听起来您请求的服务器不支持JSONP。如果它们也不支持CORS,您可能需要使用服务器端代理。@Rorymcrossan Ok所以正确的方法是使用一些php文件作为代理?包含文件内容(web页面url?参数)并从我的js代码调用它的Php文件?我理解正确了吗?是的,这对你很有用。非常感谢你的帮助:-)
json = json.Replace("\\n", "\\\\n");
json = json.Replace("\\t", "\\\\t");
json = json.Replace("\\\"", "\\\\\"");