【发布时间】:2010-01-06 09:17:17
【问题描述】:
我正在尝试使用来自 Web 服务方法的数据表。当它是字符串数据时,我可以看到返回值。 这是我的代码,它返回一个警报 hatada : null
$.ajax(
{
type: 'POST',
url: 'http://localhost:40764/HastaTahlilUyariServisi.asmx/Hello',
data: "{_sTcKimlikNo: '111111111111', _iKlinikKodu:121212, _bAy:12, _iYil:2009}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(ajaxCevap) {
alert('basarili: ' + ajaxCevap); //$('#dv').html(ajaxCevap.d);
},
error: function(xhr, status) {
alert("hatada:" + xhr.responseXML);
},
beforeSend: function() {
alert('gonderilecek');
},
afterSend: function() {
alert('gonderildi');
},
complete: function(xhr, status) {
if (status == 'success')
alert('success' + $.httpData(xhr));
}
}
这是我的网络服务方法:
[WebMethod]
public DataTable Hello(string _sTcKimlikNo, int _iKlinikKodu, byte _bAy, int _iYil)
{
DataTable dt = new DataTable();
dt.Columns.Add("ad");
DataRow rw = dt.NewRow();
rw[0] = _sTcKimlikNo + " " + _iKlinikKodu + " " + _bAy + " " + _iYil;
return dt;
}
如何从 webservice 方法中查看数据表? 提前致谢。
【问题讨论】:
-
您能否展示您的 Web 服务方法以及包含它的类?
-
包含此方法的 Web 服务类是否标有
[ScriptService]属性? -
是的,它包含 [System.Web.Script.Services.ScriptService]
-
你得到
hatada : null的原因是因为你使用了xhr.responseXML,它没有被定义,因为web服务使用JSON而不是XML。现在您需要找出调用失败的原因并进入error回调。为此,请使用FireBug检查 AJAX 调用并查看服务器响应的确切内容(错误代码、响应文本)。
标签: asp.net jquery ajax web-services