我试图使用AJAX和jQuery提交包含文本字段和图像文件的HTML表单。事实证明你不能使用AJAX进行文件上传。有没有很好的方法来提交文本表单数据和文件?我的目标是广泛的浏览器兼容性,特别是对于旧的IE版本。
我尝试过的一种方法是消除使用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 :(得分:2)
事实证明你无法使用AJAX进行文件上传。
我可以使用
重定向浏览器以从我的PHP加载另一个页面
Location
HTTP标头仅接受绝对 URI。大多数浏览器都会默默地从该错误中恢复,但你不应该让它成为一个理由。
在此之后,如何将jSON响应发送到new_page.html上的JavaScript脚本。
你没有。您可以以编程方式生成该页面,并在页面加载后运行它时将JavaScript置于该状态中。
加载一个立即使用JSON获取数据以进行更新的页面只是偷工减料。你最终得到了曾经困扰Twitter的默认内容闪存问题(在他们开始在初始加载时构建服务器端并在视图发生变化时仅使用Ajax更新它们之前)。