javascript - ajax 到 php post - 所有发送和接收但 php 失败
问题描述
我检查了其他问题。这不是重复的。 一切似乎都很好,数据由 php 发布和接收,但阅读整篇文章时出现问题。在这种情况下很少见的是它有时并不总是失败。我尝试并工作,然后过一会儿我再试一次,它再次发生(php 未读取帖子),然后等待再试一次,它可以工作。这种随机行为很难调试。
我将在下面展示出现错误时会发生什么(php 未读取帖子)。
html
<input type="file" id="file">
我的ajax代码
var file_contents = $( '#file' )[0].files[0];
var id ='2';
var form_data = new FormData();
form_data.append( 'id', id );
form_data.append( "file", file_contents );
$.ajax( {
contentType: false,
processData: false,
cache: false,
type: 'POST',
url: 'upload.php',
data: form_data,
success: function ( dataresp ) {
}
});
查看我浏览器的开发人员工具,帖子看起来不错。
-----------------------------3281079916952851611992156178
Content-Disposition: form-data; name="id"
2
-----------------------------3281079916952851611992156178
Content-Disposition: form-data; name="file"; filename="33.png"
Content-Type: image/png
PNG
[I removed here the file contents, too long]
-----------------------------3281079916952851611992156178--
upload.php - 非常简单的 php 代码。
<?php
print $_POST['id'];
print $_FILES['file']['name'];
但是 php $_POST 和 $_FILES 都是空的。我可以通过什么来理解为什么 php 不接收数据?见下文!
然后我在upload.php中尝试了这个:
<?php
print file_get_contents("php://input");
响应正是我在上面的帖子中看到的。那么为什么php不阅读这篇文章呢?
然后我尝试在 AJAX 中使用GET 。
var_dump($_GET); 的响应 如下:
array(1) {
["_"]=>
string(13) "1576863920768"
}
我确定我错过了一些愚蠢的东西,但这让我发疯!:(
解决方案
这很愚蠢。它看起来像用 jQuery.noConflict(); 解决了
推荐阅读
- javascript - 如何通过 jquery 动态地将 id 和值添加到文章标签?
- sql - 如何将此 SQL Server 触发器从 T-SQL 迁移到 PL/SQL
- python - 如何在seaborn中设置除主对角线之外的点的颜色?
- javascript - 无法从表中获取字符串
- c# - 使用 .Net Core 2.2 和 .Net Core 3.0 并行运行组件
- python - Python:如何比较两个 csv 文件并在新文件中打印出匹配的字符串
- python - 如何在此代码的列表中调用元素的名称?
- python - 当安装的python是版本2时,如何从crontab运行需要python 3的python脚本
- sql - 从每个 ID 表中选择不存在的数字
- grafana - 我必须在 Grafana 中的“URL”字段中填写什么?