前端调用代码如下:
function exData(url, params, onS, onF) {
Ext.lib.Ajax.defaultPostHeader = 'application/json';
var format;
if (params != null)
format = {
headers:{'Content-Type':'application/json;utf-8'},
url: url,
method: 'POST',
params: Ext.util.JSON.encode(params),
success: onS,
failure: onF
};
else
format = {
url: url,
method: 'POST',
success: onS,
failure: onF
};
Ext.Ajax.request(format);
}
var hello = function() {
var onS = function(r, o) {
alert(r.responseText);
};
var onF = function(r, o) {
alert(r.responseText);
};
var url = 'wsCategory.asmx/hello';
exData(url, null, onS, onF);
};
hello();
=======================================
webservice方法如下:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string hello()
{
return "hello";
}
在此方法的类上面已经标有[ScriptService]
------解决方案--------------------
ding
------解决方案--------------------
发现.net自带的ajax.net使用webservice输出的是json,其中关键的就是在请求时:Content-Type:application/json;utf-8
所以我们只要在POST时加上一个Content-Type:application/json;utf-8就可以了
$.ajax({
type: "POST",
contentType:"application/json;utf-8",
url: "/Server/PicLib.asmx/HelloWorld",
success: function(msg){
var json = eval('(' + msg + ')');