javascript - JQuery AJAX 不会抛出错误,但也不能正常工作

标签 javascript jquery asp.net ajax web-services

我有这个 JQuery AJAX 代码,它使用签名调用 ASP.NET Web 服务方法: “公共(public) bool ValidateUser(字符串用户名,字符串密码)” 它应该返回真/假。 AJAX 不会抛出任何错误,但也无法正常工作。

<script>
       $('#btn').click(function () {
                var a=$('#name').val(), b=$('#pass').val();
                $.ajax({
                    url:'http://localhost:22664/StockServices.asmx/ValidateUser',
                    contentType: "application/json; charset=utf-8",
                    data: JSON.stringify({ username: a, password: b }),
                    dataType: "json",
                    method: 'post',
                    success: function (data) {

                        alert("Msg: " + data.d);

                    }, error: function (err) { alert("failed"); 
                    console.log(err); }
                });
            });
    </script>

最佳答案

要使您的 .asmx 服务能够从 javascript 调用,您需要将此属性添加到 .asmx 服务定义中:

[System.Web.Script.Services.ScriptService]

因此您的完整服务可能如下所示:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class StockServices : System.Web.Services.WebService
{
    [WebMethod]
    public bool ValidateUser(string username,string password)
    {
        System.Diagnostics.Debugger.Break();
        return true;
    }
}

还要小心使用url:'http://localhost:22664/StockServices.asmx/ValidateUser',因为当此代码部署到生产环境时,它将不再工作。您可能想要更改它到:

url:'StockServices.asmx/ValidateUser'

关于javascript - JQuery AJAX 不会抛出错误,但也不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39181999/

相关文章:

javascript - 使用 Plottable.js 绘制基础数学 101 散点图

javascript - 使用 "filterToolbar"在客户端进行 jqGrid 过滤

javascript - Firefox focus() 设置焦点并立即模糊

asp.net - 在 asp.net 中设置背景图片(母版页)

ASP.NET/Javascript : Loading huge data in browser

javascript - Ajax 调用无法从 Web api 服务获取返回消息

javascript - libphonenumber javascript - 验证

javascript - 如何将对象插入 Firebase Forge? - AngularFire 0.8.0 - Thinkster - 第 7 章

javascript - 遇到node.js TypeError : First argument must be a string or Buffer with the simplest possible script

jquery - 嵌套绝对元素上的 Z-index 重叠相似的绝对元素?