文本数据和文件的POST

POST for textual data and a file

本文关键字:POST 文件 数据 文本      更新时间:2023-09-26

我试图使用AJAX和jQuery提交一个包含文本字段和图像文件的HTML表单。所以事实证明你不能用AJAX上传文件。有什么好的方法可以将文本表单数据与文件一起提交吗?我的目标是广泛的浏览器兼容性,特别是与旧的IE版本。

我尝试过的一种方法是取消使用AJAX,只使用普通POST(尽管AJAX是首选方法)。POST之后,加载另一个页面。我可以使用重定向浏览器以从我的PHP加载另一个页面

header("Location: new_page.html");

但是在这之后,我如何将JSON响应发送到new_page.html上的JavaScript脚本。如果我这样做,响应现在会转到new_pagehtml上的JS脚本吗?

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

所以事实证明你不能用AJAX上传文件。

这不是真的

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

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

之后,如何将JSON响应发送到new_page.html.上的JavaScript脚本

你没有。您通过编程生成该页面,并在JavaScript将其放入的状态下构建它,如果您在页面加载后运行它。

加载一个立即用JSON获取数据以更新自身的页面只是偷工减料。您最终会遇到曾经困扰Twitter的默认内容问题(在他们开始在初始加载时在服务器端构建页面,并使用Ajax仅在视图更改时更新页面之前)。