我在同一个php页面上有几个不同的ajax调用,但我只得到一个函数(createAlbum)的未定义索引。
我在每个ajax调用中发送完全相同的参数。它适用于一些测试,但现在它只适用于其他测试,但不适用于这个特定的调用。
我怀疑.js文件仍然在浏览器缓存中,所以我清除它并尝试使用其他浏览器,这样可以再尝试一些。
现在,我无法在任何浏览器上运行它,但绝对不明白为什么。
这是我的ajax电话:
$.ajax({
type: "POST",
url: BASE_URL,
data: {
action: "createAlbum",
data: JSONAlbum
},
cache: false,
success: callback
});
处理请求的我的php文件($ _POST [' action']始终未定义上述请求):
if (isset($_POST['action'])) {
switch ($_POST['action']) {
// Handle the action
// ...
}
} else {
echo 'ACTION : '.$_POST['action'];
}
包含ajax参数的标题("数据"是包含一个或多个blob图像的json,这可能是问题所在,但我没有找到任何说法):
最后,包含错误的响应:
我真的希望这不是我的一个愚蠢的错误,但我在发帖前问了一个朋友,他也找不到解决方案。
感谢您的帮助!
答案 0 :(得分:1)
你说错误并不是一直发生的(在某些调用中是肯定的,在其他情况下没有)。
发送正文帖子,你在控制台中看到它。所以我们可以排除javascript问题。
所以问题是在流程之前或期间发生的事情。
PHP对输入变量有一些限制,您可以在php.ini
中看到它。
我看到您在base64中发送图像,因此很可能会触发这些限制。
参见例如: