gpt4 book ai didi

php - symfony 响应与 json ajax

转载 作者:行者123 更新时间:2023-12-05 01:45:57 24 4
gpt4 key购买 nike

我是 Symfony 的新手,我想做一些操作,这样我就可以通过 Ajax 获得实体主题中所有元素的列表,但答案仍然是“未定义”这里的代码文本很强大

视觉

    $(document).ready(function () {
var $theme = $('#theme');
$theme.append('<option value="">Choisir un thème</option>');
$.ajax({
type: 'post',
url: '{{ path('web_site_liste_theme_cmb') }}',
dataType: 'json',
beforeSend: function () {
$('#themediv').append('<div id="loading" style=" float: left; display: block;"><img src="{{ asset('bundles/BackBundle/img/loadingicon.gif') }}"/></div>');
},
success: function (json) {
{#$('#theme').append({{ dump(json)}});#}
console.log(json.value);
$.each(json, function (index, value) {

//console.log(value);
$('#theme').append('<option value="' + value.id + '">' + value.name + '</option>');
$('#loading').remove();
});
}
});
});

Controller

  public function ListeThemeAction(Request $request)
{

$em = $this->getDoctrine()->getEntityManager();
if ($request->isXmlHttpRequest()) {
$themes = $em->getRepository('WebSiteBackBundle:theme');
$themes = $themes->findAll();
//var_dump($themes);

return new JsonResponse($json);
}
return new JsonResponse('no results found', Response::HTTP_NOT_FOUND); // constant for 404

}

服务器响应为 200 OK,一切正常,我在数据库中有相同数量的数据,但我无法读取对象值

这是: console.log(json)

最佳答案

有很多方法可以做到这一点,我将向您展示其中一种。

首先,准备要从 Controller 发送的数据,并返回一个包含数据的 JsonResponse 实例:

public function fooAction()
{
$data = ['foo1' => 'bar1', 'foo2' => 'bar2'];

return new JsonResponse($data); //or $this->json($data) since Symfony 3.1
}

The JsonResponse tells to the browser that data sent must be interpreted as JSON, otherwise these data are interpreted as plain/text by default.

其次,使用相同的数据结构从Javascript回调函数访问:

$.post('{{ path('web_site_liste_theme_cmb') }}', function (data) {
console.log(data['foo1']); //output bar1
console.log(data.foo2); //output bar2
});

在你的问题中,你发送的数据是对象数组,所以你需要循环这个变量“json”(数组)并访问对象的每个属性。

关于php - symfony 响应与 json ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39081678/

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