JavaScript---ajax为什么要设置requestHeader

最近这一阵子由于写项目好久没写博客了, 现在我又回来了~

ajax为什么要设置requestHeader

理由

默认情况下, 服务器对POST请求和提交web表单的请求并不会一视同仁. 因此, 服务器端必须有程序来读取发送过来的原始数据, 并从中解析出有用的部分. 不过我们可以使用xhr来模仿表单提交: 首先将Content-Type头部信息设置为application/x-www-form-urlencoded, 也就是表单提交时的内容类型, 其次是以适合的格式创建一个字符串

//例
function  subData(params) {
  let xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function () {
    if (xhr.readyState == 4) {
      if ((xhr.status >= 200) && (xhr.status <= 300) || xhr.status == 304) {
        alert('ok');
      } else {
        alert('error');
      }
    }
  }

  xhr.open("POST", "a.php", true);//true异步 false同步
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  let form = document.getElementsByTagName('form')[0];
  xhr.send(new FormData(form));//XMLHttpRequest 2级规范 格式化form数据
}

如果不设置会怎么样

a.php
//不设置
$HTTP_PAW_POST_DATA
//去获取数据

//设置
$POST
//去获取数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容