如何使AJAX请求看起来像常规的普通请求

问题描述

|| 我必须在“ 0”上设置哪些参数以尝试将AJAX请求屏蔽为普通请求?我想这与正确的标题有关。 我认为问题的很大一部分是在处理本地.html文件时,jQuery将
Origin
的标头值设置为
null
。 有什么方法可以删除原始标头? 目前,如果我通过网络浏览器浏览并执行jQuery AJAX请求,则从同一URL获得不同的结果。     

解决方法

        与普通请求(无论是普通请求是什么意思)相比,用jQuery发送的AJAX请求唯一不同的是添加的
X-Requested-With: XMLHttpRequest
HTTP标头。此标头可以这样删除:
$.ajax({
    url: \'/foo\',type: \'POST\',data: { bar: \'baz\' },beforeSend: function(xhr) {
        xhr.setRequestHeader(
            \'X-Requested-With\',{
                toString: function() { return \'\'; }
            }
        );
    },success: function(result) {
       alert(result);   
    }
});
或全球范围内,针对您网站上的所有AJAX请求:
$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader(
            \'X-Requested-With\',{
                toString: function() { return \'\'; }
            }
        );
    }
});
    ,        由于所有现代浏览器都实施了相同来源策略,因此这是不可能的。     ,         jQuery没有设置Origin Header。只有浏览器本身可以做到。 jQuery(或javascript)对此标头无能为力。 这是有关将Origin Header案例设置为null的链接。null Origin Header jQuery和常规请求之间的唯一区别确实是X-Requested-With:XMLHttpRequest您可以手动将其删除,也可以使用新的XMLHttpRequest或fetch()进行请求。 祝好运     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...