老师 您好 get请求显示参数错误 post请求是正常的 这个是什么原因呢

来源:2-8 js脚本

小虾虾小

2019-08-09 15:55:01

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Register</title>

<link rel="stylesheet" type="text/css" href="css/style.css">

</head>

<body>

<div class="register">

<p class="title">

<span>登 录</span>

<span class="current">注 册</span>

</p>

<div class="form">

<div>

<span>+86</span>

<input type="text" name="user" id="user" placeholder="请输入注册手机号" autocomplete="off" />

<i id="user_icon"></i>

<p class="info" id="user_info"></p>

</div>

<div>

<input type="password" name="pwd" id="pwd" placeholder="请设置密码" />

<i></i>

<p class="info"></p>

</div>

<p class="button">

<a href="javascript:void(0)" class="btn" id="sigup-btn">注册</a>

</p>

</div>

</div>

<script type="text/javascript">

var $ = {

ajax : function(options){

var xhr = null,                // XMLHttpRequest对象

url = options.url,         // url地址

method = options.method || 'get',    // 传输方式。默认为GET

async = typeof(options.async) === "undefined" ? true : options.async,    // 同步与异步

data = options.data || null,

params = '',                 // 参数

callback = options.success,             // ajax请求成功的回调函数

error = options.error;                  // ajax请求失败的回调函数

// 将data的对象字面量的相识转换为字符串形式

if (data) {

for(var i in data){

params += i + '=' + data[i] + '&';

}

params = params.replace(/&$/,'');

}

// 根据method的值改变url

if (method === "get") {

url += '?' +params;

}

if (typeof XMLHttpRequest != "undefined") {

xhr = new XMLHttpRequest();

}else if (typeof ActiveXObject != "undefined") {

// 将所有可能出现的ActiveXObject版本放在一个数组中

var xhrArr = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP.2.0'];

// 遍历创建XMLHttpRequest对象

var len = xhrArr.length;

for (var i = 0; i < len; i++) {

try{

                 // 创建XMLHttpRequest对象

                    xhr = new ActiveXObject(xhrArr[i]);

                    break;

                }

                catch(ex){


                }

}

}else{

throw new Error('No XHR object availabel.');

}

xhr.onreadystatechange = function(){

if(xhr.readyState === 4){

                if((xhr.status >=200 && xhr.status <300) || xhr.status === 304){

                    callback && callback(JSON.parse(xhr.responseText))

                }else{

                    error && error();

                }

}

}

// 创建发送请求

    xhr.open(method,url,async);

    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    xhr.send(params);

}

}

</script>

<script type="text/javascript">

var user = document.getElementById("user"),

pwd = document.getElementById("pwd"),

sigup = document.getElementById("sigup-btn"),

userInfo = document.getElementById("user_info"),

userIcon = document.getElementById("user_icon"),

userReg = /^1[3578]\d{9}$/;


// 检测用户

function checkUser(){

var userVal = user.value;

if (!userReg.test(userVal)) {

userInfo.innerHTML = '手机号无效!';

userIcon.className = 'no';

}else{

userInfo.innerHTML = '';

userIcon.className = '';

// 发起请求

$.ajax({

url : 'http://localhost/demo/register/server/isUserRepeat.php',

type : 'get',

data : {username:userVal},

success : function(data){

console.log(data);

userIcon.className = 'ok';

}

})

}

}


        // 绑定事件,检测用户的有效性及是否注册过

        user.addEventListener("blur",checkUser,false);

</script>

</body>

</html>

http://img.mukewang.com/climg/5d4d267f0001635a09880442.jpg

http://img.mukewang.com/climg/5d4d269f000150a201910034.jpg


写回答

1回答

好帮手慕夭夭

2019-08-09

你好同学,老师测试,使用get是可以请求成功的,如下

http://img.mukewang.com/climg/5d4d4b2c0001156908560121.jpg

输出的data是后台返回的数据,所以输出参数有误是请求后台的php接口的问题。这个不用管哦,在实际开发中,此类问题和后台小伙伴沟通解决即可。另外,同学的代码中有一个参数和课程中写的不一样,如下修改:

http://img.mukewang.com/climg/5d4d4c5e0001a03f07190144.jpg

祝学习愉快,望采纳。

0

0 学习 · 14456 问题

查看课程