我已经在类似的问题上阅读了许多答案,但是没有找到适合我的正确解决方案,所以我不得不问。这是我的代码:
scanf("%49s", name);
以下是获取请求令牌的方法:
$.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 = parsererror
jqXHR.responseText = null
未捕获的SyntaxError:意外的令牌:
如何摆脱这些错误?我需要使用JSONP,因为跨站点脚本,我不能访问我发布请求的服务器。我真的很感激任何帮助。
答案 0 :(得分:0)
我也遇到了同样的问题,结果发现有一些特殊字符会导致解析错误:字符/子字符串如" /"," / n",&# 34; / T"无法解析。在返回JSON之前,我所做的是替换我的WebMethod函数。
json = json.Replace("\\n", "\\\\n");
json = json.Replace("\\t", "\\\\t");
json = json.Replace("\\\"", "\\\\\"");
注意那里的反斜杠数:) 我发现使用Firefox和Firebug的问题是,错误比Chrome控制台给我的更多细节。一个非常有用的提示是解析错误发生的确切列,这帮助我找到了角色。