【发布时间】:2019-01-03 15:17:49
【问题描述】:
我通过 ajax(post)将嵌套的 json 对象发送到我的 php api(使用 Apache 服务器)。但我有一个问题;似乎并非所有数据都发送到我的 php API。
我已经检查了我的 php 代码中是否有任何错误,但事实并非如此。我也没有错误。所以我做了以下事情:我用了
JSON.stringify()
手动创建一个包含我的 POST 内容的 json 文件。用 php 打开 json 文件时一切正常,所以我认为我的 post 请求的大小有问题。我手动创建的 json 文件为 176 KB。
我阅读了有关 php.ini 和 post_max_size 的信息。所以我只是尝试将它从 8 增加到 16 M,重新启动服务器但没有任何改变。
也许有人可以帮助我。
ajax:
$.ajax({
url: 'index.php',
type: 'POST',
dataType: 'json',
data: {api: 'save_reference_file', filename: _filenameInput, timestamp: timeStamp, drives: dataHandler.getDriveData()},
error: function (phpResponse) {
console.log(phpResponse);
onError404();
},
success: function (phpResponse) {
if (phpResponse.actionsuccess === true) {
onSuccess();
} else {
onError500();
}
},
});
ajax 请求触发我的 php API,它应该在服务器上创建一个带有驱动器数据的 json 文件。所以不需要数据回调。
一个例子: 驱动器阵列包含 183 个嵌套对象。为了测试,我计算了到达我的 php api 的对象数量。是 34。第 34 个对象的大部分数据没有收到。
$sended_data = $_POST['drives'];
$amound = count($sended_data);
PHP版本:7.2.7
【问题讨论】:
-
在inspector中检查post数据——所有东西都发送了吗?
-
我的 php 文件夹中有一个 php.ini-development 和一个 php.ini-production。上次我编辑这两个文件以测试设置并重新启动服务器但没有任何改变。我是否必须重命名这些文件或其他名称?也许我对文件的编辑是错误的。
标签: javascript php ajax post