发布到IIS 7.5后,MVC 5中的Ajax请求无法正常工作

时间:2015-11-10 11:47:44

标签: json ajax asp.net-mvc-5 iis-7.5

我有asp.net mvc 5项目,在visual studio中工作正常。但是当我将它发布到iis 7.5时,一些ajax响应停止不起作用,并且控制台没有写任何东西。

    var data = {};
    data.Id = "12";
    data.MemberId = $('').val();
    data.Price = $('').val();

    console.log(JSON.stringify(data));  // viewing correct json data 

    $.ajax(url, {
        type: 'post',
        cache: false,
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(data),
        success: function (data) {
            jsonObj = JSON.parse(data);
            processing(jsonObj);
        },
        error: function (xhr, errorText) {
            // don't call this function
            console.log('Error ' + xhr.responseText);
        },
    })

但是如果发送空数据(只有var data = {},没有Id,MemberId),则可以正常工作。

UPD

[HttpPost]
public JsonResult MyAction (MyJsonObject jsonObject)
{ }  

public class MyJsonObject 
{
    public int Id { get; set; }
    public int MemberId { get; set; }
    public double Price { get; set; }  
}

1 个答案:

答案 0 :(得分:1)

问题的原因可能是CORS。你需要给予许可。

<httpProtocol>
  <customHeaders>
       <add name="Access-Control-Allow-Origin" value="*" />
  </customHeaders>
</httpProtocol>

或尝试添加

  

crossDomain:true

到您的 ajax 设置

This文章可能会更有帮助。