为什么我的AJAX调用失败


Why is my AJAX call failing?

因此,我正在进行AJAX调用并将其发送到PHP文件。它对其进行处理,并实际保存到数据库中。所以,实际上AJAX是有效的。但是,当它返回时,它显然读作错误,因为我得到了与错误消息相关的警报。。这是我的javascript文件中的ajax。。。

$.ajax({
            type: "POST",
            url: "printMail.php?do=insertExport",
            dataType: "json",
            data: {'dtData': JSON.stringify(delTick)},
            success: function (resp) {
                console.log(resp);
                alert("Made it here");
            },
            error: function (err) {
                console.log(err);
                alert("Delivery ticket was not saved!");
            }
        });

现在,php将有点奇怪,因为我们使用内部API来写入数据库。。。但它在这里。

  $values = json_decode($_REQUEST['dtData']);
        // var_dump($dtData);
        try {
            $saveExp = $this->dbp->callMethod("exportdeliveryticket", 'saveDeliveryTicket', $values);
            echo json_encode($saveExp);
        } catch (Exception $e) {
            throw new Exception("Failed while saving delivery ticket " . $e);
        }

最后,这是我通过控制台的回应。。。

"status":"SUCCESS","message":"Successfully called","data":[{"book":"2",".... etc, etc...

同样,它正在保存到数据库中,但js认为这是一个失败,我不明白为什么。。。

parseerrorUnexpected token正是您所怀疑的:您要求jQuery将结果解析为JSON,但它没有有效的JSON(它也有一些HTML可供使用)。

确保结果是有效的JSON(或者,如果你想要HTML,不要告诉jQuery将其解析为JSON),它将作为一个成功的事务处理。