2

我一直在为我认为如此简单的事情浪费大量时间,但是没有很好的例子来说明 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&传感器=真&_=1354817353398

从我一直在阅读的内容来看,“回调”参数是自动生成的,并且代码应该足够聪明,可以调用成功函数或错误函数。

chrome返回的错误是“未捕获的语法错误意外令牌':'”无论我尝试什么,javascript代码总是调用错误函数。我添加了一个 jsonpCallback 参数(不起作用),json 参数(不起作用),将 dataType 更改为“json”(由于跨域错误而不起作用)。

请帮忙。

4

1 回答 1

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');}
});
于 2012-12-06T18:48:13.273 回答