2

我被这个愚蠢的问题所困扰,试图让 Jason 调用以从数据库加载数据。它给了我一个愚蠢的错误“加载资源失败:服务器响应状态为 500(内部服务器错误)”http://localhost:4695/SAW.WEB.ONLINE/AutoComplete.asmx/GetMapInfoDiv?{'conType ':'2','conID':'5'}"

weservice 和功能工作得很好。我对它们进行了测试,Web 服务的 url 是正确的,我用于 ajax 自动完成,它工作正常,我什至在同一页面上使用了 ajax 自动完成。

这是我的网络服务方法:

[WebMethod]
public string GetMapInfoDiv(string conType, string conID)
{
    DBLink objResult = new DBLink();
    objResult = GenericContent.GetMapInfoDiv((MapMarkerType)
     Convert.ToInt32(conType),      Convert.ToInt32(conID));
    return Convert.ToString(objResult.dataSet.Tables[0].Rows[0][0]);
}

这是我的javascript调用。

 function LoadInfoDivByType(ContentType, ContentID) {

    var html;
    $.ajax(
 {
     Type: "POST",
     contentType: "application/json; charset=utf-8",

     url: "../AutoComplete.asmx/GetMapInfoDiv",
     data: JSON.stringify({ conType: ContentType, conID: ContentID }), //{conType:"'" +ContentType+ "'",conID:"'" + ContentID + "'"}, //
     //data: "{'conType':'" + '2' + "','conID':'3'}",
     dataType: "json",
     success: function (msg) {
         html = msg.d;
         alert(html);
     }
 });

}

谢谢你的帮助

4

1 回答 1

1

我想你忘了这样写ScriptMethod

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string Result(string controlName, int sleep)
{

也在 jquery 部分删除JSON.stringify功能

data: { "conType": ContentType, "conID" : ContentID }

Check : http://www.aspsnippets.com/Articles/Make-AJAX-Call-to-ASP.Net-Server-Side-Web-service-method-using-jQuery.aspx

于 2012-11-28T10:26:07.347 回答