根据我对目前所阅读内容的理解,托管在“jsonplaceholder.typicode.com”以外的域名下面的代码必须失败,但事实并非如此。为什么?这是一个AJAX跨域请求。
<!DOCTYPE html>
<html>
<body>
<div id="demo"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadDoc()">Change Content</button>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "http://jsonplaceholder.typicode.com/posts/1", true);
xhttp.send();
}
</script>
</body>
</html>
但这样可以正常工作,而不使用像JSONP这样的技巧。为什么呢?