我有一個網站在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. 從瀏覽器到另一臺服務器的HTTP POST請求
- 3. 如何將請求從一臺django服務器發送到另一臺服務器
- 4. 向web服務發出POST請求
- 5. 向服務器發送POST請求
- 6. 如何向YUI中的Django服務器發出XHRDataSource請求?
- 7. 如何使用jquery和php將ajax post請求從一臺服務器傳遞到另一臺服務器?
- 8. 如何通過POST請求向網站發送請求?
- 9. 將服務請求重定向到另一臺服務器
- 10. Git Post-Receive鉤子從一臺服務器推向另一臺
- 11. Laravel:HTTP請求到另一臺服務器
- 12. 移動Magento的網站從一臺服務器到另一臺服務器
- 13. 如何從servlet請求到另一臺服務器
- 14. 從一臺服務器移動到另一臺服務器時出現Wordpress網站重定向錯誤
- 15. 通過另一臺服務器向服務器發送請求,從最終服務器獲得響應
- 16. 當我做一個http2推,我向服務器發出請求?
- 17. 將現有網站從一臺服務器移至另一臺服務器?
- 18. 將silvertripe網站從一臺服務器遷移到另一臺服務器
- 19. 如何使用請求參數從SpringController重定向到另一臺服務器
- 20. 向遠程服務器發出請求
- 21. 在C#中向服務器發出CURL POST請求HttpWebRequest
- 22. 在Django模板中向外部服務器/ url發出POST請求
- 23. django服務器可以向其他服務器發送請求
- 24. django服務器忽略POST請求
- 25. 將django網站移動到另一臺服務器
- 26. 如何反覆向後臺發送請求到服務器?
- 27. 我可以將一個http請求從一個node.js或python服務器轉發到另一臺服務器嗎?
- 28. 如何在nginx阻止我前向網站發出請求數
- 29. 當服務器向另一臺服務器發起長HTTP請求時出現HTTP 400錯誤
- 30. 如何向redis服務器發出發佈請求