活在狮群中的狼 2018-10-13 03:19 采纳率: 0%
浏览 470

Js Ajax相同语法执行不同

下面三段js的ajax代码,都是传入username和password访问路径来获取请求,为什么只有第一段代码能正确获取到数据,但是第二段和第三段代码能访问到路径,但是返回的数据显示missing username
/** 能正确获取数据的代码 */
var settings = {
"url": "http://xxxxxxx/get_data.php?action=projectdata&project=test",
"method":"POST",
"headers":{
"Content-Type":"text/plain"
},
"data":"{\"username\":\"xxxxx\",\"password\":\"xxxxx\"}"
}
$.ajax(settings).done(function (response) {
console.log(response);
})

    /** 代码2 **/
    $.ajax({
    url:"http://xxxxxxx/get_data.php?action=projectdata&project=test",
    type:"POST",

    data: {
    "username": "xxxxxx",
    "password": "xxxxxx"
},
    dataType:'json',
    success: function (data) {
        console.log(data);
    },
    error: function (err) {
        console.log(err);
    }

});

    /** 代码块 3 **/
    var xhr = new XMLHttpRequest();
xhr.open("post","http://xxxxxxx/get_data.php?action=projectdata&project=test");
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded")
var sender = "{\"username\":\"xxxxx\",\"password\":\"******\"}";
//var sender = {"username":"xxxxx","password":"xxxxx"};
xhr.send(sender);
xhr.onreadystatechange = function () {
    // 这步为判断服务器是否正确响应
    if (xhr.readyState == 4 && xhr.status == 200) {
        console.log(xhr.responseText);
    }
};

    这三段代码有什么区别吗
  • 写回答

1条回答 默认 最新

  • FuckingGreat 2018-10-15 09:59
    关注

    第一个Content-Type为 text/plain :纯文本格式

    第二个Content-Type为 text/html : HTML格式
    第三个Content-Type为application/x-www-form-urlencoded :

    中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?