gpt4 book ai didi

javascript - PHP Symfony API 和 jQuery Ajax 请求

转载 作者:行者123 更新时间:2023-12-03 05:37:31 24 4
gpt4 key购买 nike

我在服务器端和客户端之间遇到问题。我在服务器端有一个带有 PHP Symfony 的 Rest API。服务器端:

/**
* @Route("/advertisement/all", name="advertisement_get_all")
* @Method("POST")
*/
public function getAllAdvertisement()
{
header('Content-Type: application/json');
if ($this->get('security.authorization_checker')->isGranted('ROLE_ADMIN')) {
$content = $this->get("request")->getContent();
$advertisemenetService = $this->container->get("advertisementservices");
$response = $advertisemenetService->getAllAdvertisement($content);
} else {
$response = new \stdClass();
$response->error = true;
$response->message = "Error occurred: You aren't authorized!";
}

return new JsonResponse($response);
}

如果我在 DHC Rest 客户端 Chrome 扩展中尝试一下development.domain.com/index.php/api/v2/advertisement/all 内容类型:application/x-www-form-urlencoded 我得到了一个正确的 JSON 对象。如果我尝试使用 application/json 进行相同的操作,symfony 会为我显示以下错误:无法启动 session ,因为 header 已由第 0 行的“”发送。(500 内部服务器错误) JSON response example

客户端:

我在 API 测试器上说过我得到了一个正确的 JSON 对象。我的客户端代码:

function sendAjaxRequest(method, url, data, contentType) {
var response;
$.ajax({
method: method,
url: url,
data: data,
dataType: 'json',
contentType: contentType,
success: function(msg) {
response = msg;
}
});
return jQuery.parseJSON(response);
}
response = sendAjaxRequest("POST", "{{ path('advertisement_get_all') }}", '', 'application/x-www-form-urlencoded');
document.getElementById("loader-container").innerHTML = response;

在这种情况下,我总是在客户端得到未定义。我尝试在响应上使用 JSON.stringify,因为它是一个 JSON 对象。

最佳答案

将加载器容器的更新移至成功处理程序中。

function sendAjaxRequest(method, url, data, contentType) {
var response;
$.ajax({
method: method,
url: url,
data: data,
dataType: 'json',
contentType: contentType,
success: function(msg) {
document.getElementById("loader-container").innerHTML = JSON.parse(msg);
}
});
}

关于javascript - PHP Symfony API 和 jQuery Ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40674480/

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