$.ajax({
url: Settings.get('serverURL') + 'PlaylistItem/CreateMultiple',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(newItems)
});
我明确设置了AJAX请求的contentType,以指示JSON正在通过网络发送。但是,我的代码中的contentType应用程序似乎不一致,并且所有AJAX请求都正常工作。
明确使用JSON contentType是否必要或有益,还是应该省略它?
答案 0 :(得分:1)
根据JQuery文档
contentType(默认值:'application / x-www-form-urlencoded; charset = UTF-8')类型:字符串将数据发送到服务器时,请使用此选项 内容类型。默认为“application / x-www-form-urlencoded; charset = UTF-8“,这在大多数情况下都适用。如果你明确通过 在内容类型为$ .ajax(),然后它总是发送到服务器 (即使没有数据发送)。 W3C XMLHttpRequest规范 规定字符集始终是UTF-8;指定另一个字符集 不会强制浏览器更改编码。
在实践中,我发现在$ .ajax或
中明确说明它是有益的$.ajaxSetup({
contentType: "application/json; charset=utf-8"
});
application / x-www-form-urlencoded 导致我在MVC操作参数中偶尔出现空值
http://haacked.com/archive/2010/04/15/sending-json-to-an-asp-net-mvc-action-method-argument.aspx/