2013-03-13 54 views
3

我找不到我失蹤,有沒有IIS設置需要改變,可能?500內部錯誤在jQuery Web方法調用 - IIS 5.1(: - /是啊,我知道...)

$(document).ready(function() { 

    function AjaxSuccess(result) { 

     alert('result: ' + result); 
    } 

    function AjaxError(result) { 
     alert("error"); 
     alert(result.status + ' ' + result.statusText); 
    } 


    $(".hlp").click(function() { 
     var myVal= $(this).val(); 
     var id = $(this).attr('id'); 


     $.ajax({ 
      type: "POST", 
      url: "AjaxWebMethods.aspx/GetHelpText", 
      contentType: "application/json; charset=utf-8", 
      data: "{'helpText' : '" + id + "'}", 
      dataType: "json", 
      success: AjaxSuccess, 
      error: AjaxError 
     }); 
    }); 

}); 

我的網站的方法如下:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class AjaxWebMethods : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e){ } 

    #region Exposed WebMethods 
    [System.Web.Services.WebMethod()] 
    public string GetHelpText(string helpItem) 
    { 
     string helpText = "testing web method"; 
     return helpText; 
    } 
    #endregion 
} 

我不斷收到2個彈出窗口 「錯誤」 ,然後501錯誤。 請幫我解決這個問題。

回答

4

你需要這條線data: "{'id' : '" + id + "'}",改變data: "{'helpItem' : '" + id + "'}",

爲的WebMethod正在helpItem作爲參數名稱。

所以AJAX功能終於西港島線是

$.ajax({ 
      type: "POST", 
      url: "AjaxWebMethods.aspx/GetHelpText", 
      contentType: "application/json; charset=utf-8", 
      data: "{'helpItem' : '" + id + "'}", 
      dataType: "json", 
      success: AjaxSuccess, 
      error: AjaxError 
     }); 

,讓你的服務器端方法靜態這樣

[System.Web.Services.WebMethod()] 
    public static string GetHelpText(string helpItem) 
    { 

檢查文章幫助你爲這個:Calling Server Side function from Client Side Script

+0

謝謝!更新,但仍然得到相同的東西:( – 2013-03-13 14:11:29

+0

@MadamZuZu - 檢查更新.. – 2013-03-13 14:15:38

3

你的數據是id和您的Web方法期待helpItem。嘗試對齊兩者。

data: "{helpItem: '" + id + "'}"

另一件事是嘗試添加static到您的WebMethod聲明。

[System.Web.Services.WebMethod()] 
public static string GetHelpText(int helpItem) 
{ 
+0

謝謝!這是你和Pranay的迴應的組合!它現在工作:) – 2013-03-13 14:16:00