2013-07-10 32 views
0

我正在嘗試使用AJAX和jQuery提交包含文本字段和圖像文件的HTML表單。所以事實證明,你不能使用AJAX做文件上傳。有什麼好的方法來提交文本表單數據和文件?我的目標是提供廣泛的瀏覽器兼容性,尤其是對於較早的IE版本。POST文本數據和文件

我試過的一種方法是消除使用AJAX,並簡單地使用普通POST(儘管AJAX是首選方式)。在POST之後加載另一個頁面。我也可以把瀏覽器從我的PHP加載其他頁面使用

header("Location: new_page.html"); 

但畢竟這,我怎麼能發送JSON響應到new_page.html JavaScript的腳本。如果我做了這樣的事情,現在的響應會轉到new_page.html上的JS腳本嗎?

header("Location: new_page.html"); 
$data = json_encode(response); 
echo $data 
+0

你是什麼意思「你不能使用AJAX做文件上傳」? – dandavis

回答

2

因此,原來使用AJAX你不能做文件上傳。

isn't true

我可以用

Location HTTP標頭重定向瀏覽器從我的PHP加載其他頁面只接受一個絕對 URI。大多數瀏覽器都會默默地從這個錯誤中恢復過來,但是你不應該讓它成爲一個理由。

在此之後,如何將JSON響應發送到new_page.html上的JavaScript腳本。

你不知道。您可以編程方式生成該頁面,並在JavaScript已將其放入的狀態下構建它,如果在頁面加載後運行它的話。

加載一個頁面,立即獲取數據與JSON更新自己只是偷工減料。您最終會遇到用於困擾Twitter的默認內容問題(在他們開始在初始加載時構建頁面服務器端並在視圖更改時僅使用Ajax更新它們之前)。