gpt4 book ai didi

php - AJAX 调用未按预期工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:26 24 4
gpt4 key购买 nike

我正在尝试使用 ajax 发送表单数据。但是ajax操作出错,只执行了“error”回调函数。这是我尝试过的:

$("#issue_submit").click(function (e) {

console.log("clicked on the issue submit");
e.preventDefault();

// Validate the form
var procurementForm = $("#it_procuremet_form");

if($(procurementForm).valid()===false){
return false;
}

// Show ajax loader
appendData();

var formData = $(procurementForm).serialize();

// Send request to save the records through ajax
var formRequest = $.ajax({
url: app.baseurl("itprocurement/save"),
data: formData,
type: "POST",
dataType: "json"
});

formRequest.done(function (res) {
console.log(res);
});


formRequest.error(function (res, err) {
console.log(res);
});


formRequest.always(function () {
$("#overlay-procurement").remove();
// do somethings that always needs to occur regardless of error or success
});

});

路由定义为:

$f3->route('POST /itprocurement/save', 'GBD\Internals\Controllers\ITProcurementController->save');

我还补充说:

$f3->route('POST /itprocurement/save [ajax]', 'GBD\Internals\Controllers\ITProcurementController->save');

我尝试将一个简单的字符串返回给 Controller 类的 ajax 调用。ITProcurementController.php :

public function save($f3)
{
echo 'Problem!';
return;
$post = $f3->get('POST');
}

但只执行“错误”回调。我找不到问题所在。请帮忙。

最佳答案

您指定您期望 json 返回:

// Send request to save the records through ajax
var formRequest = $.ajax({
url: app.baseurl("itprocurement/save"),
data: formData,
type: "POST",
// Here you specify that you expect json back:
dataType: "json"
});

你发回的不是json:

echo 'Problem!';
return;

这是一个不带引号的字符串,不是有效的 json。

要返回有效的 json,您需要:

echo json_encode('Problem!');
return;

您还可以根据需要删除 dataType 属性。

关于php - AJAX 调用未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46766090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com