2015-05-14 60 views
2

我在c#中有asp.net網站。function error(){[native code]}

在DROPDOWNLIST Onchange()事件我打電話這個jQuery函數,它拋出:

function error(){[native code]} 

<script type="text/javascript"> 
    function GetDescription(a) { 
     alert(a); // the dropdown item selected value 
     var id = (!isNaN($(a).val())) ? parseInt($(a).val()) : 0; 
     $.ajax({ 
      type: 'POST', 
      contentType: "application/json; charset-8;", 
      url: 'WT.aspx/GetRef', 
      data: "{ 'id':'" + id + "'}", 
      success: function (data) { 
       alert(data); 
      }, 
      error: function (data) { 
       alert(Error); 
      } 

     }); 

    } 
    </script> 

WT.aspx/GetRef

 

    [WebMethod] 
    public string GetRef(int id) 
    { 
     DataTable dt = new DataTable(); 
     SqlParameter[] p = new SqlParameter[1]; 
     p[0] = new SqlParameter("@RefID", id); 
     dt = dl.GetDataWithParameters("Sp_WT_GetRef", p); 

     string data = dt.Rows[0]["Description"].ToString() +"|"+ dt.Rows[0]["PriceInUSD"].ToString(); 

     return data; 
    } 

http://localhost:54576/resources/demos/style.css無法加載 資源:服務器響應狀態爲404(未找到) http://localhost:54576/AutomobileWebApp/WT.aspx/GetRef無法加載 資源:服務器與無法加載 資源的500狀態(內部服務器 錯誤)http://localhost:54576/resources/demos/style.css迴應:服務器與404(未找到)狀態

+2

您應該查看服務器端的日誌 - 大概在GetRef中引發了一個異常,但是我們無法分辨僅僅是看看代碼。 –

+1

「引發:函數錯誤(){[本機代碼]}」。不,它不會拋出任何錯誤。你只是提醒一個本地構造函數。 'Error'構造函數的字符串表示是'function error(){[native code]}'。使用'console.log'進行調試並檢查瀏覽器開發人員工具的網絡選項卡以檢查服務器響應。 – undefined

+0

可能你需要把你的web方法標記爲靜態類似於'public static string GetRef(int id)' –

回答

1

我的第一個建議作出迴應將[WebMethod]歸爲靜態方法。

[WebMethod] 
public static string GetRef(int id) 
{ 
    DataTable dt = new DataTable(); 
    SqlParameter[] p = new SqlParameter[1]; 
    p[0] = new SqlParameter("@RefID", id); 
    dt = dl.GetDataWithParameters("Sp_WT_GetRef", p); 

    string data = dt.Rows[0]["Description"].ToString() +"|"+ dt.Rows[0]["PriceInUSD"].ToString(); 

    return data; 
} 

如果沒有解決問題,請嘗試檢查您的ajax url是否正確指向方法。

url: 'WT.aspx/GetRef', 

並且還檢查是否傳遞'this'作爲GetDescription(a)的函數參數。

<select onchange="GetDescription(this)"> 
    <option value="1">text1</option> 
    <option value="2">text2</option> 
    <option value="3">text3</option> 
</select> 
+0

謝謝你v.much,你說的對,我像靜態一樣,它的工作。 – user3185287

+0

但函數GetRef(int id)它沒有接受我通過ajax代碼傳遞的參數。你可以幫我在那... – user3185287

+0

而且它也沒有返回結果, 成功:function(data){ alert(data); } in alert:'object Object'正在取代結果。 – user3185287

相關問題