无法通过使用jquery传递参数来调用Web服务

时间:2013-11-27 12:06:28

标签: javascript jquery

我使用jquery调用webservice,每当我调用时,我只得到错误结果。 我的服务器代码:

 [WebService(Namespace = "http://xxx.xample.org")]
[WebServiceBinding( Name ="XService", Namespace="http://xxx.xample.org/XService.asmx?")]
    [System.Web.Script.Services.ScriptService]
public class AathiService : System.Web.Services.WebService
{

    [WebMethod]
    public string IsValidUser(string UserName , string Password)
    {
       // process
       return result;

    }
}
}

然后我用这样的jquery来调用服务..

 $("#okButton").click(function () {

       // CALLING WEBSERVICE

       var param = { UserName: 'xxxx', Password: 'xxxxx' };

       $.ajax({ type: "POST", contentType: "application/json;charset=utf-8", data: JSON.stringify(param),

           url: "http://xxx.xample.org/xService.asmx/IsValidUser", dataType: "json", async: true,

           success: function () { alert("success"); }, error: function (xhr,msg) { alert(msg + "  " + xhr.responseText); }
       });

   });

我总是得到错误部分。我不知道自己做了什么。

2 个答案:

答案 0 :(得分:0)

在你的webmethod中你期望一个“字符串”作为返回类型,但你用数据类型JSON调用ajax调用 这应该可以解决你的问题:

    [WebMethod]
    public JsonResult IsValidUser(string UserName , string Password)
    {
       // process
       return Json(result);

    }

答案 1 :(得分:0)

只需更改async:false即可。问题解决了