它又是我(previous question)我仍然有json和xml从ajax调用返回的问题。Ajax查询到我的web服务返回xml在我的json - 第2部分
我在MonoDevelop 2.2版中写了一个web服务来返回我的json。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string getLocationJ(){}
将返回: -
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(bigPM);
return json;
如果我测试我的web服务,我得到: -
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">[{"placeName":"XXXX","address":"Some Address","lat":12121,"lng":12121}]</string>
这正是我在拉的时候我让我的Ajax调用。我的json仍然包装在XML中,因此无法读取。
这是我的AJAX调用: -
$.ajax({
type: "GET",
url: theURL,
async: true,
data: {minLong:minLon, maxLong:maxLon, minLat:minLat, maxLat:maxLat},
cache: false,
dataType: "jsonp",
contentType: "application/xml; charset=utf-8",
success: function (data) {
alert('in here');
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
alert(xhr.statusText);
}
});
如果我不只是JSON我获得500内部服务器错误,如果我做一个职位,我得到403 Forbidden错误。
今天早上,我试着这样做: -
$.getJSON(theURL, {minLong:minLon, maxLong:maxLon, minLat:minLat, maxLat:maxLat}, function(data) {
);
});
只有我得到确切同样的问题。
如果我可以从我的json中删除xml,那么我可以前进,但现在我死在水中,我想我在ajax中溺水了!
请帮 谢丽尔
这不是一个JavaScript的问题。你的服务器是将XML包装器放在字符串的周围,所以这是某种配置问题。 – Pointy 2010-07-29 14:20:03
我觉得有趣的是,我正在关注这个例子 http://williamsportwebdeveloper.com/cgi/wp/?p=494 如果你测试他的web服务,他们都返回包装在XML中的json。但他也在他的ajax电话中做了一个'POST'。也许我也应该做一个POST。但有了POST,我得到了403个禁止。你认为这是由于我打电话给HTTPS吗?我怎样才能解决403错误?有任何想法吗? – Cheryl 2010-07-29 14:52:51