我正在使用Symfony2。 我想以这种方式在php控制器中进行一些验证:
if ($request->isMethod('POST')) {
$old_name = $category->getName();
$new_name = $request->get('value');
if ($same == 0) {
//valid
$new_response = new Response($name);
return $new_response;
} else {
//not valid
$old_response = new Response($old_name);
return $old_response;
}
}
有没有办法检查.js文件中发送了哪个响应 - $new_response
或$old_response
?其中的一点是向主体附加一条消息,告诉用户如果发送的响应为$old_response
,则他输入了重复值。如果发送的回复是$new_response
,请删除此消息。
非常感谢您提前! :)
答案 0 :(得分:1)
只需查看回复正文即可。第一个构造函数参数是响应的内容(通常是解析后的模板)。
也许你想使用JsonResponse($data)
答案 1 :(得分:1)
您可以使用 JSON 来返回一组数据,而不仅仅是名称。
<强>控制器:强>
if ($same == 0) {
//valid
$new_response = new JsonResponse(array('type' => 'new', 'name' => $name));
return $new_response;
} else {
//not valid
$old_response = new JsonResponse(array('type' => 'old', 'name' => $old_name));
return $old_response;
}
<强> JS:强>
$.ajax({
url: '...',
type: 'POST',
dataType: 'json',
data: 'value=...',
success: function(json) {
if (json.type == 'new')
// this is new response
else
// this is old or some other response
alert(json.name); // this is the response body (old or new name)
}
});
另见: