我一直在浪费大量时间来处理我认为如此简单的事情,但是没有很好的例子可以说明ajax调用的工作方式和内容。
这是我的javascript代码:
$.ajax({
type: 'GET',
url: 'https://maps.googleapis.com/maps/api/timezone/json',
dataType: 'jsonp',
data: {
location: myLoc,
timestamp: myTime,
sensor: true
},
success: function(){alert('OK');},
error: function(){alert('FAIL');}
})
}
变量“myLoc”和“myTime”不是问题。事实上,如果我将URI剪切并粘贴到我的浏览器中,它就可以正常工作并显示数据:https://maps.googleapis.com/maps/api/timezone/json?callback=jQuery18307430207263678312_1354817349576&location=36.7468422%2C-119.7725868×tamp=1354817353&sensor=true&_=1354817353398
根据我一直在阅读的内容,“callback”参数是自动生成的,并且代码应该足够聪明,可以调用成功函数或错误函数。
chrome返回的错误是“Uncaught syntax error unexpected token':'” 无论我尝试什么,javascript代码总是调用错误函数。我添加了一个jsonpCallback参数(不起作用),json参数(不起作用),将dataType更改为“json”(由于跨域错误而无效)。
请帮忙。
答案 0 :(得分:0)
$.ajax({
type: 'GET',
url: 'https://maps.googleapis.com/maps/api/timezone/json',
dataType: 'jsonp',
contentType: 'application/json; charset=utf-8',
data: JSON.Stringify({
location: myLoc,
timestamp: myTime,
sensor: true
}),
success: function(){alert('OK');},
error: function(){alert('FAIL');}
});