您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

jQuery ajax错误{“ readyState”:0,“ responseText”:“”,“ status”:0,“ statusText”:“ error”}

jQuery ajax错误{“ readyState”:0,“ responseText”:“”,“ status”:0,“ statusText”:“ error”}

我遇到了同样的问题:每次用户单击链接时如何注册

实际上,问题在于,如果不停止弹出窗口,则ajax请求不会完成,并且您会得到readyState:0!

我已经完成了上述操作的另一个版本,该版本可能更易读(即使更冗长)

/*  --------------------------------------------------------------------------
 *  Before that add 'downloads' class to every anchor tag (link) in your page
 *  This script does the rest
 *  
 *  remember to change 'your_PHP_file' with the one you use
 *  -------------------------------------------------------------------------- */

$(document).ready( function()
{

    // Check if there is any link with class 'downloads'
    if ( typeof $('.downloads') != 'undefined' )
    {
        var links = $('.downloads');

        // Run this for every download link
        for ( var i = 0; i < links.length; i++ )
        {   
            // Set click behavIoUr
            links[i].onclick = function(e)
            {
                // Get download name
                var attr = this.attributes,
                    href = attr.href.textContent,
                    elem = href.split('/'),
                    elem = elem[elem.length - 1];

                // Send the download file name and only after completing the request let the user download the file
                $.ajax(
                {
                    type : "POST",
                    dataType : "text",
                    // 'your_PHP_file' must be an ABSOLUT or RELATIVE path!
                    url: your_PHP_file,
                    // 'elem' is a variable containing the download name
                    // you can call it in your PHP file through $_POST['download_name']
                    data: { download_name: elem },
                    // here we go magic:
                    // after the request is done run the popup for the download
                    complete: function()
                    {
                        window.location.href = href;
                    }
                });

                // Stop default behavIoUr until ajax request has been done
                e.preventDefault();
            };
        }
    }
});
@H_502_9@
 

          

解决方法

我正在尝试提出ajax请求

$.ajax({
  type: "post",url: "download.php",error: function(data,status,err){
           alert(JSON.stringify(data));
         },data: "fileid="+fileid
});

该请求将警报“ {“ readyState”:0,“ responseText”:“”,“状态”:0,“ statusText”:“错误”}“

我在Google上搜索了所有我想出的是跨站点Ajax调用(这显然不是)

我已经尝试将完整的url放进去,并且做同样的事情。

我唯一能想到的就是标题,我不知道它到底有什么问题。这是firebug的请求标头

Host                www.mydomain.com
User-Agent          Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept              */*
Accept-Language     en-us,en;q=0.5
Accept-Encoding     gzip,deflate
Accept-Charset      ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection          keep-alive
Content-Type        application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With    XMLHttpRequest
Referer             http://www.mydomain.com/
Content-Length      8
Cookie              PHPSESSID=27b7d3890b82345a4fc9604808acd928

我在另一个页面上添加了另一个请求,它工作正常,但是这个请求不断失败,另一个请求的标头是:

Host                www.mydomain.com
User-Agent          Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept              text/plain,*/*; q=0.01
Accept-Language     en-us,*;q=0.7
Connection          keep-alive
Content-Type        application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With    XMLHttpRequest
Referer             http://www.mydomain.com/differentpage.php
Content-Length      33
Cookie              PHPSESSID=27b7d3890b82345a4fc9604808acd928
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!
$.ajax({
  type: "post",url: "download.php",error: function(data,status,err){
           alert(JSON.stringify(data));
         },data: "fileid="+fileid
});
Host                www.mydomain.com
User-Agent          Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept              */*
Accept-Language     en-us,en;q=0.5
Accept-Encoding     gzip,deflate
Accept-Charset      ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection          keep-alive
Content-Type        application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With    XMLHttpRequest
Referer             http://www.mydomain.com/
Content-Length      8
Cookie              PHPSESSID=27b7d3890b82345a4fc9604808acd928
Host                www.mydomain.com
User-Agent          Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept              text/plain,*/*; q=0.01
Accept-Language     en-us,*;q=0.7
Connection          keep-alive
Content-Type        application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With    XMLHttpRequest
Referer             http://www.mydomain.com/differentpage.php
Content-Length      33
Cookie              PHPSESSID=27b7d3890b82345a4fc9604808acd928

我正在尝试提出ajax请求

该请求将警报“ {“ readyState”:0,“ responseText”:“”,“状态”:0,“ statusText”:“错误”}“

我在Google上搜索了所有我想出的是跨站点Ajax调用(这显然不是)

我已经尝试将完整的url放进去,并且做同样的事情。

我唯一能想到的就是标题,我不知道它到底有什么问题。这是firebug的请求标头

我在另一个页面上添加了另一个请求,它工作正常,但是这个请求不断失败,另一个请求的标头是:

JS 2022/1/1 18:15:53 有739人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶