Trong quá trình tìm hiểu các yêu cầu Ajax bằng cách sử dụng jQuery, tôi đã cố gắng tải trang chủ của google vào một liên kết. Vì vậy, tôi đã viết một cái gì đó như:Tại sao tôi không thể tải một tài nguyên bên ngoài từ phương thức tải jQuery?
$("#ajax").click (function (event) {
$("#g").html("Loading...");
$("#g").load("http://www.google.com");
event.preventDefault();
});
Và nơi nào đó trong cơ thể:
<a id="ajax" href="http://www.google.com">Load file ajax way</a>
<div id="g">Click the above link to load the page...</div>
nào không làm việc và bước đầu tôi nghĩ có một số lỗi cú pháp hoặc một cái gì đó. Nhưng sau này khi tôi thay thế url google bằng một tệp html tĩnh trên máy chủ, nó hoạt động chính xác.
$("#g").load("Temp.htm");
Được thiết kế để hoạt động như thế này (nếu có, tại sao?) Hoặc tôi đang làm điều gì đó sai?
EDIT: Vui lòng bất cứ ai có thể giải thích (hoặc tham khảo) vấn đề bảo mật được giới thiệu bởi các cuộc gọi ajax giữa tên miền? Nói cách khác, tại sao an toàn để mở một tab trình duyệt khác và mở google nhưng KHÔNG phải từ bên trong trang? Là nó để bảo vệ người gọi hoặc callee?
+1 Câu trả lời tuyệt vời. –
Câu trả lời rất toàn diện và đầy đủ –
do đó load.php chỉ đọc miền được truy vấn và lưu trữ nội dung? – 3zzy