2011-10-13 30 views
5

Tôi muốn đăng biểu mẫu bằng JSONP có bất kỳ giải pháp khả thi nào không?Đăng biểu mẫu với JSONP

Tôi muốn đăng biểu mẫu lên miền khác với jsonp.

+0

Hiện chúng tôi một số mã, xin vui lòng! Làm thế nào có ai phải trả lời như thế? – vzwick

+0

Bạn chỉ có thể gửi yêu cầu GET bằng cách sử dụng JSONP. – andlrc

+0

@vzwick cảm ơn phản hồi nhanh của bạn. kịch bản là tôi có hình thức trên máy chủ của tôi nhưng tôi muốn hình thức bài viết đến máy chủ khác nhau thông qua ajax, nhưng ajax không cho phép điều này vì vậy tôi thấy jsonp giúp gửi dữ liệu đến khác. máy chủ nó hoạt động với phương thức GET nhưng tôi muốn phương thức POST không hoạt động với jsonp. bất kỳ ý tưởng? –

Trả lời

4

Bạn không thể tạo POST gốc với JSONP.

Tuy nhiên, bạn có thể:

  1. Serialize dạng thành một chuỗi truy vấn và gửi nó cùng với một yêu cầu GET.
  2. Sử dụng CORS(Cross Origin Resource Sharing) nếu bạn có sự sang trọng chỉ có thể nhắm mục tiêu các trình duyệt hiện đại.
  3. yêu cầu
2

Một JSONP chỉ là tạo ra một thẻ script với một cuộc gọi chức năng:

Javascript:

var head = document.getElementsByTagName("head")[0]; 
var script = document.createElement('script'); 
script.type = 'text/javascript'; 
script src = 'url_to_post.serverside?callback=callback_function'; 

var callback_function(response) { 
    head.removeChild(script); 
    alert(response.abc); // returns def; 
}; 

url_to_post.serverside:

callback_function({"abc": "def"}); 

Hy vọng bạn có thể hiểu tại sao nó chỉ hoạt động cho các yêu cầu GET

:)

2

Bạn có thể sử dụng vào tùy chọn dữ liệu $ .post của bạn, $ .get, $ .ajax phương pháp:

$('form').serialize() 
Các vấn đề liên quan