使用jquery ajax调用MapQuest地理代码api
我试图使用jquery ajax()调用mapquest api,但一直出现以下错误:使用jquery ajax调用MapQuest地理代码api,jquery,ajax,mapquest,Jquery,Ajax,Mapquest,我试图使用jquery ajax()调用mapquest api,但一直出现以下错误: Statuscode:400 “请求中的非法参数:解析请求中的JSON时出错:JSONObject文本必须在的字符0处以“{”开头,请参阅。”http://www.mapquestapi.com/geocoding/ 有关正确设置位置格式的详细信息。“ 下面是我正在进行的jquery ajax调用: $.ajax({ url: "http://www.mapquestapi.com/geocoding
Statuscode:400
“请求中的非法参数:解析请求中的JSON时出错:JSONObject文本必须在的字符0处以“{”开头,请参阅。”http://www.mapquestapi.com/geocoding/ 有关正确设置位置格式的详细信息。“
下面是我正在进行的jquery ajax调用:
$.ajax({
url: "http://www.mapquestapi.com/geocoding/v1/address?key=<mykey>",
dataType: 'json',
type: 'POST',
contentType:'json',
data: {json: {location: { "postalCode": "98765"}, options: { thumbMaps: false} } },
success: function(data) { log( data ) },
error: function(data) { log( 'error occurred - ' + zipCode + ' - ' + data ) }
});
任何帮助都将不胜感激
Matt在传递位置信息时,您可能会有一组额外的括号 试试这个: $.ajax({ url: "http://www.mapquestapi.com/geocoding/v1/address?key=", dataType: 'json', type: 'POST', contentType:'json', data: {location: { "postalCode": "98765"}, options: { thumbMaps: false} }, success: function(data) { log( data ) }, error: function(data) { log( 'error occurred - ' + zipCode + ' - ' + data ) } }); $.ajax({ url:“http://www.mapquestapi.com/geocoding/v1/address?key=", 数据类型:“json”, 键入:“POST”, contentType:'json', 数据:{位置:{“postalCode”:“98765”},选项:{thumbMaps:false}, 成功:函数(数据){log(数据)}, 错误:函数(数据){log('发生错误-'+zipCode+'-'+data)} });
这真的是因为你的json不是真正的json字符串。你不能像那样将JSONObject传递到url中。你必须先对它进行字符串化。我和你有相同的错误,在我对它进行字符串化之后,它就起作用了。它在IE7中不起作用,所以你必须使用JSON2使它与IE7兼容:在这里找到:
var-key=;
$.ajax({
url:“http://www.mapquestapi.com/geocoding/v1/address",
数据类型:“json”,
键入:“POST”,
contentType:'json',
数据:{
键:解码元件(键),
json:json.stringify(
{
位置:{“postalCode”:“98765”},选项:{thumbMaps:false}
})
},
成功:函数(数据){log(数据)},
错误:函数(数据){log('发生错误-'+zipCode+'-'+data)}
});
$.ajax({
url: "http://www.mapquestapi.com/geocoding/v1/address?key=",
dataType: 'json',
type: 'POST',
contentType:'json',
data: {location: { "postalCode": "98765"}, options: { thumbMaps: false} },
success: function(data) { log( data ) },
error: function(data) { log( 'error occurred - ' + zipCode + ' - ' + data ) }
});
var key = <mykey>;
$.ajax({
url: "http://www.mapquestapi.com/geocoding/v1/address",
dataType: 'json',
type: 'POST',
contentType:'json',
data: {
key: decodeURIComponent(key),
json : JSON.stringify(
{
location: { "postalCode": "98765"}, options: { thumbMaps: false}
})
},
success: function(data) { log( data ) },
error: function(data) { log( 'error occurred - ' + zipCode + ' - ' + data ) }
});