2013-06-05 70 views
0

我嘗試發送一個json到一個aspx站點並獲得回調,但它不會工作。Jquery發送Json到Asp.net代碼隱藏

當我試試這個:

的Jquery:

$("input[type=submit], a, button") 
    .button() 
    .click(function(event) { 
     $.ajax({ 
      dataType : 'jsonp', 
      jsonp : 'jsonp_callback', 
      url : 'Entry.aspx/GetString', 
      success : function(sqlArray) { 
       alert(sqlArray); 
      }, 
      error: Failed 
     }); 

     function Failed(result) { 
       alert("Fail: "+result.status + " " + result.statusText); 
     } 
    }); 

Asp.net:

[WebMethod] 
public static string GetString(string tracking_num) 
{ 
    var customer = new data { text="Joe Bloggs"}; 
    string json = customer.toJson(); 
    return json; 
} 

我得到的錯誤:

Fail: 200 OK

當我改變了ajax datatyp從「Json」到「Text」,成功ss函數將被調用,但alertboxtext是aspx站點的Html代碼。

謝謝

+0

我相信'toJson'函數被破壞了,而且沒有提供有效的json格式。 – gdoron

+1

您沒有傳入'tracking_num'值,因此對您的Web方法的調用失敗。既然你沒有使用參數,我只是刪除它。如果你需要它,你必須在你的ajax調用中設置'data'。 –

回答

0

在GetString方法中設置內容類型。

Context.Response.ContentType = "application/json" 

並在ajax調用中使用dataType:'json'。

+0

沒有工作:(但現在,我發現問題,「getString」方法永遠不會被調用。我添加了一個「Console.writeline(」我稱爲「);」但按下按鈕後控制檯是空的。 – user2289728