我收到以下錯誤:jquery ajax readystate 0 responsetext status 0 statustext error
給予它時:url(http://www.tutorialspoint.com/prototype/prototype_ajax_response.htm)
,但它在我的本地主機上給它url(localhost:""/embparse_page)
時正常工作。jquery ajax readystate 0 responsetext status 0 statustext錯誤
我嘗試過使用我在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.
但我不明白。
任何人都可以請向我解釋這個問題,因爲我對此很陌生。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:ng="http://angularjs.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta Access-Control-Allow-Origin="*" />
<title>Page Parsing</title>
<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>
<script>
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('<title>');
var endtitl=data.lastIndexOf('</title>');
var title1=data.substring(starttitl+7,endtitl);
alert(title1);
},
error:function(errorStatus,xhr) {
alert("Error"+JSON.stringify(errorStatus));
}
});
}
</script>
</head>
<body>
<div id="siteloader">
<input type="button" onclick="getit()" />
</div>
</body>
</html>
一個提示:不要使用警報,因爲它是調試最刺激的方式。嘗試'console.log'並在Chrome中按F12或者在Firefox中控制+ shift + k以打開控制檯。您可以使用許多工具,例如設置斷點並使用請求和響應標頭檢查請求。 – HMR
您的建議 –
最精彩的答案對這個職位的感謝先生是深度漂亮:http://stackoverflow.com/questions/15005500/loading-cross-domain-html-page-with-ajax – Adrian