ajax 请求 status=0 ,求大神解答


这是返回的错误


 {"readyState":0,"responseText":"","status":0,"statusText":"error"}

请求的函数


 function sendDataByPost(url,data,callback){
    $.ajax({
        url : url,
        type : "post",
        dataType : "json",
        contentType : "application/json;charset=UTF-8",
        data : JSON.stringify(data),
        success : callback,
        error : fail
    });
}

调用请求的方法

* 这个是能够用的


 /**
 * 新增
 */
function btn_add(){
    $("#new").click(function(){
        var title = "新增";
        initModal(title,"","","",addData)
        $('#myModal').modal('show');
    });
}

function addData(){
    var url = "/save",    **将这里的/save改成/queryData也是能取到数据的**
        dm = $.trim($("#dm").val()),
        mc = $.trim($("#mc").val()),
        jb = $.trim($("#jb").val()),
        data = {"dm":dm,"mc":mc,"jb":jb};
    sendDataByPost(url,data,function(data){
        if(data.errorCode != 0){
            errHandel(data.detail);
        }else{
            alert("增加成功!"+JSON.stringify(data));
        }
    });
}


/**
 * 初始化模态框参数,将save绑定到按钮上
 */
function initModal(title,dm,mc,jb,save){
    $("h4.modal-title").text(title);
    $("#dm").val(dm);
    $("#mc").val(mc);
    var i=0;
    while($("#jb option").eq(i).text() != jb || i>$("#jb option").eq()){
        i++;
    }
    if(i>$("#jb option").eq())
        $("#jb").val(1);
    else
        $("#jb").val(i+1);
    $("#save").click(save);
}

* 这个却有刚才的错误


 /**
 * 查询数据
 */
function btn_query(){
    $("#query").click(queryData);
}

function queryData(){
    var url = "/queryData",
        dm = $.trim($("#queryDm").val()),
        mc = $.trim($("#queryMc").val()),
        jb = $.trim($("#queryJb").val()),
        data = {"dm":dm,"mc":mc,"jb":jb};
    sendDataByPost(url,data,function(data){
        alert("成功:"+JSON.stringify(data));
    });
}

url是正确的
将第一个的url改成“/queryData”
可以取到数据


 /**
 * 通过post方式发送数据
 * @param url
 * @param data
 * @param callback
 */
function sendDataByPost(url,data,callback){
    $.ajax({
        url : url,
        type : "post",
        dataType : "json",
        contentType : "application/json;charset=UTF-8",
        data : JSON.stringify(data),
        success : callback,
        error : fail
    });
}

function fail(data) {
        alert(JSON.stringify(data));
}

急求大神解答

======================
已解决
解决方法
修改前:<button type="button" class="btn btn-default" id="query">查询</button>
修改后:<input type="button" class="btn btn-default" id="query" value="查询">

修改前的不知道为什么会访问不到,点击后,浏览器url后面会自动加上问号

修改后能够访问

相关问题:
jquery ajax请求成功,返回了数据,但是不进success的问题
http://my.oschina.net/adwangxiao/blog/78509

ajax请求不成功,firebug检测到类型是plain
http://www.iteye.com/problems/110889

input、button的不同type值在ajax提交表单时导致的陷阱
http://www.jb51.net/article/17319.htm

jquery Ajax JavaScript xmlhttprequest http

腹黑的大兔子 9 years, 3 months ago

有人来回答吗?

这该死的昵称 answered 9 years, 3 months ago

首先你的确定一下,你说的错误的那种情况是什么地方错误, readyState为0 表示(未初始化)还没有调用send()方法 。
是否是初始化就已经错误了。

做一只开心的嘟 answered 9 years, 3 months ago

Your Answer