0

我正在使用 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

非常感谢您!:)

4

2 回答 2

1

只需查看响应正文。第一个构造函数参数是响应的内容(通常是已解析的模板)。

也许你想使用JsonResponse($data)

于 2013-06-24T09:32:09.063 回答
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)
    }
});

也可以看看:

于 2013-06-24T10:25:24.363 回答