2015-07-17 2 views
0

Мой Аякса вызов не собирается стороне сервера Вот мой код:Не удалось выполнить вызов на стороне сервера. { «Сообщение»: "Неверный объект прошел}.

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#

[WebMethod] 
     public static void ExecuteInsert(string email, string pass, string firstName, string lastName) 
     { 
      string connStr = @"Data Source=userinfo; Database= MYWEB;User ID=myweb;Password=***********"; 
      using (SqlConnection connect = new SqlConnection(connStr)) 
      { 
       using (SqlCommand command = new SqlCommand("web_proc_testweb_demo" , connect)) 
       { 
        command.CommandType = CommandType.StoredProcedure; 
        command.Parameters.Add(@email, SqlDbType.VarChar).Value = pass; 
        command.Parameters.Add(@pass, SqlDbType.VarChar).Value = firstName; 
        command.Parameters.Add(@firstName, SqlDbType.VarChar).Value = lastName; 
        command.Parameters.Add(@lastName, SqlDbType.VarChar).Value = email; 
        command.ExecuteNonQuery(); 
       } 
      } 
     } 

Вместо того, чтобы идти на стороне сервера возникает эта ошибка:

вызов на стороне сервера не удалось { «сообщение»: "Неверный объект передается}.

ответ

2

полезная нагрузка вы отправляете не в правильном format.try

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

Он по-прежнему не работает, то это говорит «Сообщение»: «Недействительный примитив JSON: адрес электронной почты – Kamran

+0

jquery может не отправлять его как данные json, а отправляет его как строку запроса. : JSON.stringify (userData) –

+0

извините, но он все равно генерирует такую ​​же ошибку после внесения изменений в код – Kamran

0

[Комментарий]: Я не могу писать комментарии, так что я пишу здесь. Я сделал ваш сценарий, но это не создало проблем для меня. Хотя, когда я тестировал userData с ниже ссылкой, он сказал: «Строки должны быть завернуты в двойные кавычки».

http://jsonformatter.curiousconcept.com

Попробуйте двойные кавычки, например:

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

ok главная дайхта hoon isko – Kamran

0

Вы не должны создать строку JSON, JSON является JavaScript Object

var userData = { 
    email: email, 
    pass: pass, 
    firstName: firstName, 
    lastName: lastName 
} 
Смежные вопросы