POST文本数据和文件

时间:2013-07-10 18:57:25

标签: php javascript post

我试图使用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

1 个答案:

答案 0 :(得分:2)

  

事实证明你无法使用AJAX进行文件上传。

isn't true

  

我可以使用

重定向浏览器以从我的PHP加载另一个页面

Location HTTP标头仅接受绝对 URI。大多数浏览器都会默默地从该错误中恢复,但你不应该让它成为一个理由。

  

在此之后,如何将jSON响应发送到new_page.html上的JavaScript脚本。

你没有。您可以以编程方式生成该页面,并在页面加载后运行它时将JavaScript置于该状态中。

加载一个立即使用JSON获取数据以进行更新的页面只是偷工减料。你最终得到了曾经困扰Twitter的默认内容闪存问题(在他们开始在初始加载时构建服务器端并在视图发生变化时仅使用Ajax更新它们之前)。