JSON 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}]}}]}
我在 Google Chrome 中使用 Advanced Rest Client App 尝试了网络服务,它运行良好。我不知道为什么这个简单的示例会收到此语法错误消息。
您的 Ajax 代码看起来不错。我认为您正在尝试进行跨域调用,因为 JSONP 是处理跨域 ajax 调用的技巧。如果您的服务器代码准备好处理 JSONP 请求,那么您必须发送一个回调参数,例如
?callback=my_callback_method
您的服务将 return 产生回调结果,请参阅以下链接了解更多详情:
https://learn.jquery.com/ajax/working-with-jsonp/
您错过了将就绪函数关闭,即 }); 在脚本标签关闭之前的最后:
<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 和 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}]}}]}
我在 Google Chrome 中使用 Advanced Rest Client App 尝试了网络服务,它运行良好。我不知道为什么这个简单的示例会收到此语法错误消息。
您的 Ajax 代码看起来不错。我认为您正在尝试进行跨域调用,因为 JSONP 是处理跨域 ajax 调用的技巧。如果您的服务器代码准备好处理 JSONP 请求,那么您必须发送一个回调参数,例如
?callback=my_callback_method
您的服务将 return 产生回调结果,请参阅以下链接了解更多详情:
https://learn.jquery.com/ajax/working-with-jsonp/
您错过了将就绪函数关闭,即 }); 在脚本标签关闭之前的最后:
<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>