2013-02-12 2 views
0

в моем приложении asp.net MVC 3.JSON не работает над вызовом IIS

следующий вызов ajax хорошо работает на моей машине разработки, но когда я публикую приложение на сервере IIS, он терпит неудачу или объект всегда отправляет значение null для сохранения функции.

 $.ajax 
     ({ 
      url: '../MyPath/save', 
      type: 'POST', 
      dataType: 'json', 
      contentType: 'application/json; charset=utf-8', 
      data: JSON.stringify({'Model': object}), 
      success: function (data) { 
       alert("success"); 
       return true; 
      } 
      }); 

    [HttpPost] 
    public JsonResult Save(SampleModel Model) 
      * Model values always null over IIS * 
    { 

    } 

я даже пытался использовать @ url.action() и даже пытался в другом broweser, но все же проблема сохраняется.

У кого-нибудь есть идеи, почему это не работает на вызов IIS.?

предлагаю. спасибо

ответ

0

Я думаю, вы должны использовать jQuery.parseJSON()

 $.ajax({ 
     url: '../MyPath/save', 
     type: 'POST', 
     dataType: 'json', 
     contentType: 'application/json; charset=utf-8', 
     data: jQuery.parseJSON({'Model': object}), 
     success: function (data) { 
      alert("success"); 
     } 
    }); 

из документации:

Passing in a malformed JSON string may result in an exception being thrown. 
For example, the following are all malformed JSON strings: 
  • {test: 1} (тест не имеет двойные кавычки вокруг него).
  • {'test': 1} («test» использует одинарные кавычки вместо двойных кавычек).

More info

+0

благодаря jai..i попробовали это, но все еще облицовочные же problem..plz предложить yother способ сделать this.I я потянув меня за волосы с 1 day..still не получив эту проблему яснее .. спасибо – user1799982

0

Ваш JavaScript приведет к двойной упаковке вашей модели, процесс связывания будет искать Model недвижимости в SampleModel классе. Для привязки непосредственно он должен скорее быть:

$.ajax({ 
    url: '../MyPath/save', 
    type: 'POST', 
    dataType: 'json', 
    contentType: 'application/json; charset=utf-8', 
    data: JSON.stringify(object), 
    success: function (data) { 
     alert("success"); 
    } 
}); 
+0

спасибо .. но я пробовал это тоже..не work.plz предложить другой способ..после отправки нулевых значений .. – user1799982

+0

@ user1799982 Покажите нам свой объект JavaScript и класс SampleModel – tpeczek

Смежные вопросы