[急]XMLHttpRequest 與Django的問題

看板Web_Design作者 (881 forever)時間11年前 (2014/11/17 11:52), 11年前編輯推噓5(5031)
留言36則, 5人參與, 最新討論串1/1
各位大大好 小弟目前正在研讀Head First JavaScript 深入淺出這本書 讀到了最後一章(Chapter 12 Dynamic Data)ajax的部分 書的網址 http://www.it-ebooks.info/book/103/ 由於我只會Django不會php 所以想把書中的範例改成Django1.6的版本 程式碼如下列網址 http://examples.oreilly.com/9780596527747/ 是否有人可以幫忙一下呢 小弟會以新台幣1000的酬勞作為答謝(依照科技部臨時工報賬流程 ) 感謝 ps:若可以在今天下午5:00完成酬勞則提升為2000 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.218.124 ※ 文章網址: http://www.ptt.cc/bbs/Web_Design/M.1416196359.A.E33.html

11/17 12:25, , 1F
codejob板可以參考一下
11/17 12:25, 1F

11/17 12:28, , 2F
因為我實在弄了好久 我在網路上找不到相關資料 大都是用
11/17 12:28, 2F

11/17 12:29, , 3F
jQuery 所以我想知道如果是直接用XMLHttpRequest 那該要怎
11/17 12:29, 3F

11/17 12:30, , 4F
做.
11/17 12:30, 4F

11/17 12:32, , 5F
本來是想po文討論的 因為實在有點趕 所以才用獎勵的方式
11/17 12:32, 5F

11/17 21:49, , 6F
懶得看code,但XMLHttpRequest就是一種物件
11/17 21:49, 6F

11/17 21:49, , 7F
var http = new XMLHttpRequest()後
11/17 21:49, 7F

11/17 21:50, , 8F
http.open("POST"/"GET" , url)
11/17 21:50, 8F

11/17 21:50, , 9F
就是說要連到哪,並用哪種method
11/17 21:50, 9F

11/17 21:51, , 10F
再來,寫送出並得到資料後要做啥:
11/17 21:51, 10F

11/17 21:53, , 11F
http.onreadystatechange = function(){
11/17 21:53, 11F

11/17 21:53, , 12F
if(http.readyState == 4){
11/17 21:53, 12F

11/17 21:53, , 13F
//do something.
11/17 21:53, 13F

11/17 21:54, , 14F
}
11/17 21:54, 14F

11/17 21:54, , 15F
}
11/17 21:54, 15F

11/17 21:55, , 16F
然後http.send(data)
11/17 21:55, 16F

11/17 21:56, , 17F
啊...open那寫錯了QQ
11/17 21:56, 17F

11/17 21:56, , 18F
應該是http.open("POST"/"GET" , url+"?"+data)
11/17 21:56, 18F

11/17 21:57, , 19F
然後data是個字串,格式是"thing1=value1&thing2=value2".
11/17 21:57, 19F
謝謝您的回復 是這樣的,我目前Django的程度還沒有很夠 我現在遇到的問題癥結在於幾個點: 在views.py目前只會用簡單的 def functionname(request): ….. return HttpResponse("...") or return render(request,...) urls.py目前也只會處理到 url(r'^adminfun/$','adminfun'), 所以... 1.如果以上面的views.py以及urls.py這種簡單的形式,views.py要怎麼寫? a)如果是post,怎麼從request抓出post過來的資料? return的地方要怎麼寫 使得browser 可以ajaxReq.getReadyState() == 4 && ajaxReq.getStatus() == 200 b)同上如果是get, a)要怎麼處理 2.如果views.py 以及 urls.py都設計好了,那麼ajaxReq.send()針對post 以及get裡面的參數分別要怎麼設定,目前你這邊寫的方式看不太懂哩 ※ 編輯: left (140.112.218.124), 11/17/2014 22:50:08

11/17 22:57, , 20F
我覺得你要不要考慮去找有關Django ajax相關的範例?
11/17 22:57, 20F

11/17 23:05, , 21F
打都只找到jquery的 因為時間緊迫才會找鄉民幫忙
11/17 23:05, 21F

11/17 23:11, , 22F
原生的Javascript很不好用
11/17 23:11, 22F

11/17 23:11, , 23F
因為那個太原始了,很多設計方法要另外重刻
11/17 23:11, 23F

11/17 23:12, , 24F
^^方式
11/17 23:12, 24F

11/17 23:12, , 25F
所以你應該大部分看到的是jQuery的範例
11/17 23:12, 25F

11/17 23:12, , 26F
他簡化掉很多不應該繼續重複處理的部份
11/17 23:12, 26F

11/17 23:12, , 27F
而且又能保證cross browser
11/17 23:12, 27F

11/17 23:37, , 28F
http://goo.gl/9BXOA2 跟這有關嗎
11/17 23:37, 28F

11/17 23:39, , 29F
另外我是說data的話是個字串格式為
11/17 23:39, 29F

11/17 23:39, , 30F
"資料1=內容1&資料2=內容2&......"
11/17 23:39, 30F

11/17 23:40, , 31F
如果要用GET送的話:
11/17 23:40, 31F

11/17 23:40, , 32F
ajaxReq.open("GET",url+"?"+data)
11/17 23:40, 32F

11/17 23:41, , 33F
然後直接ajaxReq.send()就好
11/17 23:41, 33F

11/17 23:42, , 34F
POST送的話則是ajaxReq.open("POST",url)
11/17 23:42, 34F

11/17 23:42, , 35F
ajaxReq.send(data)
11/17 23:42, 35F

11/19 12:26, , 36F
request.GET 跟 request.POST 可以拿到你傳上來的參數
11/19 12:26, 36F
文章代碼(AID): #1KQN47up (Web_Design)