jquery ajax readystate 0 responsetext status 0 statustext error
我收到以下错误: jquery ajax readystate 0 responsetext status 0 statustext error
给出它: url(http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm)
,但是当我给它url(localhost:""/embparse_page)
时它工作正常url(localhost:""/embparse_page)
我的localhost上的url(localhost:""/embparse_page)
。
我尝试使用我在Google搜索中找到的标题,我使用了beforeSend:""
,但它仍然没有用。
我认为主要问题是: XMLHttpRequest cannot load http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm. Origin "local server" is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest cannot load http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm. Origin "local server" is not allowed by Access-Control-Allow-Origin.
但我不明白。
任何人都可以向我解释这个问题,因为我对此很陌生。
Page Parsing getit=function(){ jQuery.support.cors = true; $.ajax({ type:"GET", url:"http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm", dataType:"html", crossDomain:true, beforeSend: function(xhr) { xhr.overrideMimeType('text/plain;charset=UTF-8'); }, success:function(XMLHttpRequest,jqXHR ,data) { //alert(data.title); var starttitl=data.lastIndexOf(''); var endtitl=data.lastIndexOf(' '); var title1=data.substring(starttitl+7,endtitl); alert(title1); }, error:function(errorStatus,xhr) { alert("Error"+JSON.stringify(errorStatus)); } }); }
我得到了这个错误,在我的情况下,这不是由于相同的原始政策。 我从这个链接得到了一些帮助
我的情况是,我有一个链接按钮,我没有使用e.PreventDefault()
ASPX
使用Javascript
function VerifySearch(sender, e) { e.preventDefault(); $.ajax({ type: 'POST', ............. } return false; }
同源政策。 当你打开时,浏览器不允许
http://site1.com
连接到:
site2.com sub.site1.com site1:99.com https://site1.com (not sure about this one)
这是因为site1无法从site2窃取内容并假装它是site1的内容。 这方面的方法是JSONP(谷歌地图使用我认为)和site2
提供cors标题,但jQuery 1不支持cors *(也许不在2. *),因为IE在实现它时有一些问题。 在这两种情况下,您都需要site2与您的网站合作,以便您的网站可以显示其内容。
如果你自己只使用它,那么你可以使用Firefox并安装forcecors插件。 要激活,您可以选择view => toolbars => add on bar并单击屏幕右下角的“cors”文本。
我从我的Ajax调用中得到了这个错误,为我修复它的原因只是放入’return false’。
我和Nginx(服务器端)和AngularJs(用户端)有同样的问题
正如其他开发人员所说的Cors问题,在这里我只想说我如何解决我的问题,也许有人会使用这种方法;)
首先,我将以下行添加到我的Nginx配置文件中(在linux – > / etc / nginx / sites-available / your domain中):
add_header Access-Control-Allow-Origin *; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
我正在测试为json/xml
数据读取txt/XML
文件并出现错误……读取的值: Status[0] & readyState[0]
和StatusText[error];
这在Internet Explorer上成功运行,但在Chrome上无法运行,因为域名必须相同
这就是修复它的原因
转到C:\ WINDOWS \ system32 \ drivers \ etc \ hosts
为您的localhost应用程序命名:
127.0.0.1 SampleSiteName.com
现在以http://SampleSiteName.com/YourAjaxFileName.htm
打开chrome中的代码(如果它打开,则表示您已正确输入主机名)转到HTML
文件并提供您所在文件的相对地址试图阅读(如果FileToBeRead.txt
与FileToBeRead.txt
在同一个文件夹中,那么只需输入url:“/ /FileToBeRead.txt
”)
现在,您的代码也适用于Chrome。