我有一個網站在Django上運行。當用戶點擊提交按鈕時,我需要將數據發送到運行在不同域上的服務器,然後顯示返回給用戶的數據。由於跨域問題,我無法使用Ajax請求。許多消息來源表明,我應該使用Javascript發送到我自己的服務器,然後發送到外部服務器,但我不明白我會如何實現。如何從我的Django網站向另一臺服務器發出POST請求?
0
A
回答
2
如果您提交表單最終需要轉到的URL,則可以在服務器端執行處理。所以說,你在表單中,像這樣的隱藏字段:
<input type="hidden" name="form_urlfield" value="http://anotherwebsite.com/wheretheformneedstogo">
基本上,你可以這樣做:
$.ajax({
type: "POST",
url: 'http://somewhereonthesameserver.com/submit-form',
data: $('#ajax-form').serialize(),
success: function(data){...},
});
然後,在對應於您提交表單URL的觀點:
import urllib2
data = urllib2.urlopen(request.POST['form_urlfield'], the_post_data)
//the_post_data is the data that you want to post to the other server..
// do something with the returned data
// return a JSON/Other response
此外,請確保您在Django中啓用CSRF-Ajax功能。 https://docs.djangoproject.com/en/1.4/ref/contrib/csrf/#csrf-ajax
以上所有僅僅是僞代碼(我只是在這裏寫出來的),但它應該給你一個關於如何繼續的想法。希望這有助於:)
0
您可以從您的django應用程序發出http請求。
- 用戶提交的數據從HTML表單的Django
- 使用urllib的發送數據,並從其他域
- 響應相應的響應數據提交給用戶。
0
由Ashray和dm03514提供的答案是正確的。但我可能會建議看看使用Requests而不是urllib2進行服務器端HTTP處理。
相關問題
- 1. com.android.volly.AuthFailureError在向django服務器發出基本的volly POST請求
- 2. 向web服務發出POST請求
- 3. 如何向YUI中的Django服務器發出XHRDataSource請求?
- 4. 如何使用jquery和php將ajax post請求從一臺服務器傳遞到另一臺服務器?
- 5. 如何通過POST請求向網站發送請求?
- 6. Git Post-Receive鉤子從一臺服務器推向另一臺
- 7. Laravel:HTTP請求到另一臺服務器
- 8. 移動Magento的網站從一臺服務器到另一臺服務器
- 9. 如何從servlet請求到另一臺服務器
- 10. 從一臺服務器移動到另一臺服務器時出現Wordpress網站重定向錯誤
- 11. 通過另一臺服務器向服務器發送請求,從最終服務器獲得響應
- 12. 當我做一個http2推,我向服務器發出請求?
- 13. 將現有網站從一臺服務器移至另一臺服務器?
- 14. 向遠程服務器發出請求
- 15. 在C#中向服務器發出CURL POST請求HttpWebRequest
- 16. django服務器忽略POST請求
- 17. 如何反覆向後臺發送請求到服務器?
- 18. 我可以將一個http請求從一個node.js或python服務器轉發到另一臺服務器嗎?
- 19. 如何在nginx阻止我前向網站發出請求數
- 20. 當服務器向另一臺服務器發起長HTTP請求時出現HTTP 400錯誤
- 21. 如何向redis服務器發出發佈請求
- 22. PHP。將請求按原樣轉發到另一臺服務器
- 23. 閃光發送請求到另一臺服務器
- 24. Apache轉發請求到另一臺服務器
- 25. 從服務器端發出HTTP請求
- 26. 如何使用POST請求從另一個Java應用程序重定向到遠程服務器網頁
- 27. 如何從另一臺服務器進行POST操作 - Laravel
- 28. 如何獲取Cookie與POST請求到另一個網站,PHP
- 29. 一個有效的方法來阻止一個具體的網站發出POST請求到您的服務器?
- 30. 向Glassfish服務器發送Python請求的RESTFUL POST