JSON issue with jQuery (JSONP)
JSON issue with jQuery (JSONP)
我有一个奇怪的问题使用jQuery和JSON,特别是JSONP。我的目标是简单地获取JSON数据,但我总是以以下错误告终:
Uncaught SyntaxError: Unexpected token
代码如下:
<script type="text/javascript">
$(document).ready(function() {
var myurl = "someurl";
$.ajax({
url: myurl,
method: 'GET',
contentType: 'application/javascript',
dataType : 'jsonp',
success: function(result){
//Do something with JSON result
}
});
</script>
当然还有JSON(原始格式):
{"result":[{"targetView":"powerUsage","myData":{"someItems":["9","5","8"],"someItems2":[{"text":"protoText","currentRecord":"45.38","absolute":100}]}}]}
我尝试了在谷歌浏览器的高级休息客户端应用程序的web服务,它是完美的工作。我不知道为什么这个简单的例子会得到这个语法错误消息。
您的Ajax代码看起来不错。我想你是在尝试进行跨域调用,因为JSONP是处理跨域ajax调用的hack。如果你的服务器代码已经准备好处理JSONP请求,那么你必须发送一个回调参数,如
?callback=my_callback_method
服务将返回一个回调结果,参见下面的链接了解更多细节:
https://learn.jquery.com/ajax/working-with-jsonp/
http://stackoverflow.com/questions/11736431/make-cross-domain-ajax-jsonp-request-with-jquery
您错过了准备函数关闭,即});在最后一个脚本标记关闭:
<script type="text/javascript">
$(document).ready(function()
{
var myurl = "someurl";
$.ajax(
{
url: myurl,
method: 'GET',
contentType: 'application/javascript',
dataType: 'jsonp',
success: function(result)
{
//Do something with JSON result
}
});
});
</script>
相关文章:
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 使用Jquery将Ajax jsonp数据转换为数组
- 如何使用jquery调用jsonp
- 使用jQuery进行跨域ajax JSONP请求
- 如何使用jsonp/jquery触发函数
- jQuery JSONP 不调用回调
- 并发 jquery jsonp 响应被发送到错误的成功处理程序
- 使用 jQuery 和 jsonp (vimeo api) 按键获取选定的 json 值
- jQuery JSONP 请求在 Internet Explorer 中经常失败
- 将带有 datatype:jsonp 的 jQuery ajax 更改为纯 JS ajax
- 使用 jQuery $.ajax 的 JSONP 响应/回调不起作用
- Jquery jsonp 请求回调函数未触发
- jsonp jquery 跨域错误
- 使用 Ajax 调用 Deezer API (jquery) - dataType JSON 返回空 - JSONP 返
- 难以理解带有jQuery的JSONP
- 跨域 Jquery JSONP POST to Rails 应用程序
- JQuery 1.7 中的 JSONP 错误
- Ajax / jQuery 获取整个 JSONP-Result-String
- jQuery UI autocomplete jsonp 映射响应
- 如何使用javascript、jquery和jsonp在android上使用web api