2011-08-26 34 views
16
$.ajax({ 
    type : "GET", 
    dataType : "jsonp", 
    url : '/', 
    data : {} 
    success: function(obj){ 

    } 
}); 

Làm cách nào tôi có thể sử dụng $ .ajax dataType: jsonp cross-domain để đăng dữ liệu?

+1

Vì bạn không nói loại lỗi nào bạn đang gặp phải, tôi chỉ có thể hướng bạn đến điều này: http://api.jquery.com/jQuery.getJSON/ nên làm những gì bạn muốn - nhưng sau đó lại chỉ là một cách viết tắt cho những gì bạn đã viết. – m90

+0

đăng dữ liệu ?? bạn có thể clairfy .. – Baz1nga

+0

Xem tài liệu: http://api.jquery.com/jQuery.getJSON/ Bạn cần chỉ định chức năng gọi lại trong url của mình. –

Trả lời

3

Không thể thực hiện với jsonp đơn giản. Đọc this

+0

cảm ơn bạn ~ Tôi phải cần các tài liệu đó. – Thinking80s

+0

@kevin được chỉnh sửa với liên kết – genesis

+2

không chắc chắn cách thức này giúp ích? nó không cung cấp một giải pháp, chỉ nói rằng bạn không thể làm điều đó. – dewd

38

Để trả lời câu hỏi của bạn thay vì đưa bạn tới liên kết khác như trên:

Các JS:

$.ajax({ 
    type : "GET", 
    dataType : "jsonp", 
    url : "http://domainname.com/json.php?callback=?", // ?callback=? 
    success: function(data){ 
      // do stuff with data 
    } 
}); 

Các PHP có thể có thể trông như thế này:

<?php 
include('connect.php'); 
$sql = "SELECT id, name, items FROM tablename ORDER BY id ASC"; 
$result = mysql_query($sql); 
while($row = mysql_fetch_array($result)) 
{ 
    $rows[] = array(
      "id" => $row['id'], 
      "name" => $row['name'], 
      "items" => $row['items']); 
} 
$json = json_encode($rows); 
$callback = $_GET['callback']; 
echo $callback.'('. $json . ')'; 
?> 

Đặt dataType thành jsonp sẽ cho phép jQuery tự động thêm ?callback=? vào cuối số url của bạn để chỉ định cuộc gọi lại. Nếu bạn chỉ định của riêng bạn như trên, nó sẽ sử dụng tên callback mà bạn đang chuyển. Nếu bạn cần chỉ định tên gọi lại json, hãy sử dụng thuộc tính jsonpCallback. Hoặc bạn có thể thêm làm tham số cho thuộc tính dữ liệu. Nếu bạn cần thêm thông tin, vui lòng truy cập API jQuery API: http://api.jquery.com/jQuery.ajax/.

Đừng quên thêm ; vào chuỗi kết quả.

Tôi hy vọng điều này sẽ hữu ích!

+3

Cảm ơn bạn rất nhiều! Sau khi xem xét một chục ví dụ, điều này cuối cùng đã có mã của tôi làm việc! – sahithya

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