ajax上的未定义索引仅调用一个函数

时间:2015-11-26 21:49:11

标签: javascript php jquery json ajax

我在同一个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,这可能是问题所在,但我没有找到任何说法):

header parameters

最后,包含错误的响应:

php response

我真的希望这不是我的一个愚蠢的错误,但我在发帖前问了一个朋友,他也找不到解决方案。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

你说错误并不是一直发生的(在某些调用中是肯定的,在其他情况下没有)。

发送正文帖子,你在控制台中看到它。所以我们可以排除javascript问题。

所以问题是在流程之前或期间发生的事情。

PHP对输入变量有一些限制,您可以在php.ini中看到它。

我看到您在base64中发送图像,因此很可能会触发这些限制。

参见例如: