2012-10-09 93 views
0

可能重複:通過jQuery阿賈克斯
how to post to a form with jquery/ajax

我如何可以發佈數據到服務器?

JQuery的

function postNewBaseLine() { 
    var id = "300"; 
    $.ajax({ 
      type: "POST", 
      url: "ManagerBaseKit.aspx/SetNewBaseVersion", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      data: id, 
      success: function(data) { 
       alert('success!'); 
      } 
     }); 
} 

CS

[WebMethod] 
public static void SetNewBaseVersion(string version) 
{ 
    // I want it here! 
} 

我使用腳本管理

<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true" 
    runat="server" /> 

編輯: 更改爲data: { 'version': id },

後0

我越來越 POST _http://本地主機:49852/ManagerBaseKit.aspx/SetNewBaseVersion 500(內部服務器錯誤)

+0

你應該與合適的服務器端技術,除了你的數據元素的需求標記這個爲好,鍵/值對,如'var id = {「amount」:「300」}' – m90

+0

而不是'data:id,'try'data:{'id':id},' – mgraph

回答

2

你需要的數據對象更改爲類似:

function postNewBaseLine() { 
    var id = "300"; 
    $.ajax({ 
      type: "POST", 
      url: "ManagerBaseKit.aspx/SetNewBaseVersion", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      data: {version: id}, 
      success: function(data) { 
       alert('success!'); 
      } 
     }); 
} 
+0

+1你剛剛打敗我。 –

+0

我得到:POST http:// localhost:49852/ManagerBaseKit.aspx/SetNewBaseVersion 500(內部服務器錯誤) – user829174

+0

調試工具說什麼? – voigtan

1

第一將ID更改爲一個對象,我相信這些引用很重要。

function postNewBaseLine() { 
var id = "300"; 
$.ajax({ 
     type: "POST", 
     url: "ManagerBaseKit.aspx/SetNewBaseVersion", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     data: {"version": id}, 
     success: function(data) { 
      alert('success!'); 
     } 
    }); 

}

您可能還需要一些屬性添加到您的服務方法

  [WebMethod] 
      [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, bodystyle = WebMessageBodyStyle.WrappedRequest)] 
      public static void SetNewBaseVersion(string version) 
      { 
       // I want it here! 
      } 
相關問題