我有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; }
}
答案 0 :(得分:1)
问题的原因可能是CORS。你需要给予许可。
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
或尝试添加
crossDomain:true
到您的 ajax 设置
This文章可能会更有帮助。