2011-08-31 26 views
5

Estoy pasando una variable javascript que contiene una cadena al servidor a través de jquery.ajax. Aunque se llama a la condición de "éxito", nunca se llama al WebMethod del lado del servidor. Cliente:WebMethod no se llama

$.ajax({ 
      type: "post", 
      url: "Playground.aspx/childBind", 
      data: {sendData: ID}, 
      //contentType: "application/json; charset=utf-8", 
      dataType: "text", 
      success: function (result) { alert("successful!" + result.d); } 
     }) 

Servidor:

[WebMethod] 
    public static string childBind(string sendData) 
    { 
     return String.Format("Hello"); 
    } 

Respuesta

6

Trate siguientes arreglos para su petición Ajax:

$.ajax({ 
      type: "post", 
      url: "Playground.aspx/childBind", 
      data: "{sendData: '" + ID + "'}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (result) { alert("successful!" + result.d); } 
     }) 

Aviso cambió dataType y data valor como una cadena.

0

me gustaría agregar una nota: tendrá un error de datos de su cadena "ID" (u otro campo) contiene comillas como = '. resolver este problema:

var DTO = {'sendData': ID}; 

       $.ajax({ 
        "type": "POST", 
        "dataType": 'json', 
        "contentType": "application/json; charset=utf-8", 
        "url": sSource, 
        "data": JSON.stringify(DTO), 
        "success": function (msg) { 
         //do something 
        } 
       }); 
0

Trate de esta manera: JQuery:

   var dataString = JSON.stringify({ 
        contractName: contractName, 
        contractNumber: contractNumber 
       }); 

       $.ajax({ 
        type: "POST", 
        url: "CreateQuote.aspx/GetCallHistory", 
        data: dataString, 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (result) { 
         alert(result); 
          OpenLightBox('divDelete'); 

        } 
       }); 

aspx.cs:

 [System.Web.Services.WebMethod] 
     public static string GetCallHistory(string contractName, string contractNumber) 
     { 
      return "Nalan"; 
     }