jquery - $.ajaxSetup 未设置 Get 请求的内容类型

标签 jquery asp.net ajax content-type pagemethods

代码1

$.ajax({url:"1.aspx/HelloWorld",type:"GET",dataType:"json",contentType:"application/json"});

Request Response for Code1

代码2

$.ajaxSetup({
   contentType: "application/json",
   dataType: "json"
});

$.get("1.aspx/HelloWorld","",$.noop,"json");

Request Response for Code 2

Code1 有效地设置了 content-typedatatype Code2 没有设置内容类型 这是有意的还是我需要做 Voodoo 的东西才能使其工作?

最佳答案

我只想为 ajax 方法创建一个快速包装器。

$.myAjax = function(url,data){
    return $.ajax({
        contentType: "application/json",
        url: url,
        data: data || {},
        type: "GET",
        dataType: "json"
    });
}
// used with
$.myAjax("foobar.asp").done(function(data){
    console.log(data);
}).fail(function(){
    console.log(arguments);
});

header 未传递的原因是,如果未为给定请求指定 contentType 并且没有数据,则不会设置 contentType。这可能是一个错误,因为 contentType 是在 ajaxSetup 中设置的,但我对此并不肯定。

关于jquery - $.ajaxSetup 未设置 Get 请求的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10093475/

相关文章:

javascript - 工具提示未显示在 d3 图表中点/圆顶部的附加 'rect' 处

javascript - 单击 PHP 后禁用按钮

javascript - 尝试通过ajax和php使用chart.js加载图表

php - Laravel 正在发送 GET 而不是 POST 请求

jQuery 更改事件始终在已选中的单选按钮上触发

asp.net - 我可以确定 HttpModules 是按照它们在 HttpApplication.Modules 集合中列出的顺序执行的吗?

c# - C# 线程初学者

asp.net - 使用 Breezejs 捕获 SaveChanges() 上的外键异常

ajax - 带有 knockout.js 的 Bootstrap 弹出窗口

javascript - 将自动完成 HTML 建议插入搜索栏中