我尝试在 symfony 中使用 jquery 为每个国家/地区选择获取一个新列表。 为此,我使用 ajax,但出现此错误:
TypeError: invalid 'in' operand a
我的jquery:
$('.country').change(function(){
var val = $(this).val();
$.ajax({
type: "POST",
url: "{{ path('ajax') }}?country_id=" + val,
success: function(data) {
$('.extension').html('');
$.each(data, function(k, v) {
$('.extension').append('<option value="' + v + '">' + k + '</option>');
});
}
});
return false;
});
我的路径 ajax 在 Controller 中调用我的函数 ajax :
public function ajaxAction(Request $request) {
if (!$request->isXmlHttpRequest()) {
throw new NotFoundHttpException();
}
// Get extension ID
$numCountry = $request->query->get('country_id');
$result = array();
$extensions = $this->get('extension')->getExtensionByCountry($numCountry, array('name' => 'asc'));
foreach ($extensions as $extension) {
//$result[$extension->getName()] = $extension->getId();
$result['test'] = 1;
}
return new JsonResponse($result);
}
最佳答案
您正在尝试遍历导致此错误的字符串。请尝试使用 $.parseJSON(data)
success: function(data) {
$('.extension').html('');
data = $.parseJSON(data);
$.each(data, function(k, v) {
$('.extension').append('<option value="' + v + '">' + k + '</option>');
});
}
阅读更多 $.parseJson
关于javascript - 类型错误 : invalid 'in' operand a from ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41486279/