Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 对服务器端的调用失败。{“消息”:“传递的对象无效”}_Jquery_Asp.net_Ajax - Fatal编程技术网

Jquery 对服务器端的调用失败。{“消息”:“传递的对象无效”}

Jquery 对服务器端的调用失败。{“消息”:“传递的对象无效”},jquery,asp.net,ajax,Jquery,Asp.net,Ajax,我的ajax调用不会转到服务器端。 这是我的密码: function InsertData() { debugger; var email = $("#txtemail").val(); var pass = $("#txtpass").val(); var firstName = $("#txtfirstName").val(); var lastName = $("#txtlastName").val(); var userData = "{

我的ajax调用不会转到服务器端。 这是我的密码:

function InsertData() {
    debugger;

    var email = $("#txtemail").val();
    var pass = $("#txtpass").val();
    var firstName = $("#txtfirstName").val();
    var lastName = $("#txtlastName").val();
    var userData = "{'email':'" + email + "','pass':'" + pass + "'firstName':'" + firstName + "','lastName':'" + lastName + "'}";
    $.ajax({
        type: "POST",
        url: "Home.aspx/ExecuteInsert",
        data: userData,
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        success: function (msg) {
            alert(msg);
        },

        error: function (x, e) {   
            alert("The call to the server side failed. " + x.responseText);
        }
    });

}
C#

不会转到服务器端,而是引发此错误:

对服务器端的调用失败。{“消息”:“传递的对象无效}


您发送的有效负载格式不正确。请重试

var userData = {'email': email ,
'pass': pass,
'firstName': firstName,
'lastName': lastName };

[评论]:我不能写评论,所以我写在这里。 我做了你的场景,但它并没有给我带来问题。虽然当我用下面的链接测试
userData
时,它说“字符串应该用双引号括起来”

尝试使用如下双引号:

    var userData = "{ \"email\":\"" + email +
        "\"  , \"pass\" : \"" + pass +
        "\"  , \"firstName\" : \"" + firstName +
        "\"  , \"lastName\" : \"" + lastName +
    "\" }";

您不应该构建json字符串,json是一个javascript对象

var userData = {
    email: email,
    pass: pass,
    firstName: firstName,
    lastName: lastName
}

它仍然不起作用,它说“消息”:“无效的JSON原语:emailjquery可能没有将其作为JSON数据发送。相反,它将其作为查询字符串发送。try data:JSON.stringify(userData)对不起,先生,在修改代码后,它仍然会生成相同的错误,不确定这里出了什么问题。不要在ajax调用中使用userdata,而是直接在调用中创建json对象,如下所示:data:json.stringify({'email':email,'pass':pass,'firstName':firstName,'lastName'})另请参见和
var userData = {
    email: email,
    pass: pass,
    firstName: firstName,
    lastName: lastName
}