首页新闻找找看学习计划

关于ajax的readyState=0的问题

0
悬赏园豆:15 [已解决问题] 解决于 2018-08-22 16:40

js代码:

 $.ajax({
            url:'http://www.mysite.com:8088/ajax/register.php',
            type:'post',
            dataType:'json',
            data:$('#form').serialize(),
            beforeSend:function(){
               if($('.name' ).val()=='') {
                   $('p').text('用户名不能为空!').show().delay(2000).fadeOut();
                   return false;
               }
                   if($('.pass' ).val()==''){
                       $('p').text('密码不能为空!').show().delay(2000).fadeOut();
                       return false;
                   }
                   if($('.repass' ).val()!=$('.pass' ).val()){
                       $('p').text('两次输入的密码不同!').show().delay(2000).fadeOut();
                       return false;
                   }
                   if($('.code').val()!=code){
                       $('p').text('验证码不正确!').show().delay(2000).fadeOut();
                       return false;
                   }

                   console.log($('#form').serialize());
                // 添加禁止项
                _this.addClass('disabled');
                _this.val('正在提交...');
            },
            success: function (data) {
                alert(data);
                //location.href = 'http://www.mysite.com';
                //alert(data.msg);
            },
            error:function(XMLHttpRequest, textStatus, errorThrown){
                alert(XMLHttpRequest.status);
                alert(XMLHttpRequest.readyState);
                alert(textStatus);
                alert(errorThrown)
                console.log('错误啦');
            },
            complete: function () {
                _this.removeClass('disabled');
                _this.val('立即注册');
            }
        });

register.php 代码:

<?php
    header('Content_Type:text/html;charset=UTF-8');
    $arr = array(
        'code'=>10001,
        'msg'=>'注册成功',
    );

    echo json_encode($arr);

    sleep(3);

?>

表单提交后ajax执行到error

alert(XMLHttpRequest.status);
                alert(XMLHttpRequest.readyState);
                alert(textStatus);
                alert(errorThrown)
这几项分别为0,0,timeout,timeout
网上说是跨域的问题,但是我这个设计不到啊,为啥XMLHttpRequest对象没有初始化
我心悦你的主页 我心悦你 | 初学一级 | 园豆:73
提问于:2018-06-26 09:32
< >
分享
最佳答案
0
  1. header('Content_Type:text/html;charset=UTF-8');

    既然ajaxdatatype定义返回的是json,这个函数的定义返回的应该也是json吧!

  2. url:'http://www.mysite.com:8088/ajax/register.php',

    修改为:

    url:'/ajax/register.php',

    试试,看下能不能正常访问。

  3. 避免ajaxform表单重复提交。就是Form标签指定了url,methon,以及使用<input type="submit" value="提交"/>的标签。

可以尝试排查一下。没学过php,个人拙见。

收获园豆:15
hellotim | 小虾三级 |园豆:1434 | 2018-06-26 12:39

这样子也解决不了,可能还不是出错原因吧,谢谢啦,最近在忙其他事情,暂时搁置了

我心悦你 | 园豆:73 (初学一级) | 2018-06-28 18:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册