2011-09-10 50 views
12

Tôi đang cố gắng tạo ra câu đố đầu tiên của mình. Vì vậy, đây là những gì tôi muốn làm với jquerycách sử dụng yêu cầu ajax trong jsFiddle

$('.list').live('click', function(){ 
    var dataPass = 'uid='+ uid; 
    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: dataPass, 
     cache: false, 
     success: function(html){ 
      //Do something 
     } 
    }); 
}); 

Vậy làm cách nào/nơi nào để tôi viết mã cho test.php? Nó sẽ trả về một số đánh dấu html.

Trả lời

10

Không thể thực hiện yêu cầu AJAX cho miền ngoài tên miền hiện tại vì đây là một rủi ro bảo mật khá cơ bản.

jsFiddle có số API để thử nghiệm các yêu cầu AJAX mà bạn nên sử dụng thay thế.

4

Đây là công việc fiddle về những gì bạn có thể đang tìm kiếm.

Tôi đã sử dụng http://echo.jsontest.com nhưng bạn có thể thay thế cho URL hợp lệ của mình.

var echo = function(dataPass) { 
    $.ajax({ 
     type: "POST", 
     url: "/echo/json/", 
     data: dataPass, 
     cache: false, 
     success: function(json){ 
      alert("UID=" + json.uid + "\nName=" + json.value); 
     } 
    }); 
}; 

$('.list').live('click', function(){ 
    $.get("http://echo.jsontest.com/uid/12345/value/nuno_bettencourt", function(data) { 
     var json = { 
      json: JSON.stringify(data), 
      delay: 1 
     }; 
     echo(json);; 
    });​ 
}); 
+0

Tính năng này hoạt động như thế nào? Không nên gọi $ .get() cho chính sách gốc giống nhau?/nhầm lẫn – rych

+0

Máy chủ từ xa thêm tiêu đề HTTP này để báo cho trình duyệt biết nó cho phép yêu cầu miền chéo 'Access-Control-Allow-Origin: *'. Xem tiêu đề trong tab Mạng của công cụ gỡ lỗi của trình duyệt của bạn. – oldwizard

+0

http://echo.json.services/?foo=bar&baz=qux – Falci

Các vấn đề liên quan