2015-10-19 5 views
0

У меня есть сомнение в формате данных jquery ajax. каков тип данных данных пользователя при передаче от клиента к серверу? , если данные передаются как данные: {// данные пользователя}, дающие 500 ошибок. но если они передаются как данные: '{}' или data: "{}", дающие результат как успех. мне нужно заключить данные между «или»?JQuery ajax post data query

$.ajax({ 
       type: "POST", 
       url: "Contact.aspx/add", 
       dataType: "json", 
       data: '{ "Data": "hii" }', 
       contentType: "application/json; charset=utf-8", 
       success: function (response) { 

       }, 

       error: function (msg) { 
        alert(msg.status); 
       } 
      }); 
     ------c#------- 
     [WebMethod] 
    public static void add(string Data) 
    { 
    } 
+0

'500' означает, что на сервере есть ошибка, возможно, сервер ожидает данные в формате JSON – Tushar

+0

Используйте Request.Form [" Data "] в своем веб-методе. вместо использования параметра строки данных –

ответ

0

необходимо использовать JSON.stringify, чтобы укрепить данные obj.

var jsonData = JSON.stringify({ "Data": "hii" }); 
$.ajax({ 
        type: "POST", 
        url: "Contact.aspx/add", 
        dataType: "json", 
        data: jsonData, 
        contentType: "application/json; charset=utf-8", 
        success: function (response) { 

        }, 

        error: function (msg) { 
         alert(msg.status); 
        } 
       }); 
      ------c#------- 
      [WebMethod] 
     public static void add(string Data) 
     { 
     } 
+0

, но я могу использовать метод http post, например ниже $ .post («Contact.aspx/add», {'Data': '' + JSON.stringify (arr) + ''}, function (result) {}); , здесь не нужно ни одной, ни двойной цитаты. при сравнении двух методов почты меня путает – nichu09

+0

, см. ответ http://stackoverflow.com/a/3870116/2074346, вы можете видеть разницу. –

0

вы можете сделать это следующим образом:

$ .ajax ({ типа: "POST", URL: "Contact.aspx/добавить", DATATYPE: "JSON", данные: { Данные: «hii», }, успех: функция (отклик) { }, });

Надеюсь, это поможет.