1

我正在使用 Symfony2 控制器返回 JSON 字符串:

return new Response(json_encode(array('errors' => $errors)));

基本上,我想将错误返回到表单。但是当我调用该操作时,JSON 输出会显示在我的浏览器中。但我想在 JavaScript (jQuery) 的回调函数中调用 JSON。

我尝试将 Content-Type 设置为application/json,但它在 IE 中不起作用,因为 IE 想要保存文件。

我的 JavaScript:

$("#form").submit(function() {
    var url = $(this).attr("action");

    $.ajax({
        type: "POST",
        url: url,
        data: $(this).serialize(),
        success: function(data, textStatus, jqXHR) {
            // Ouptut errors
        }
    });
});

我能做些什么?

4

1 回答 1

2

您需要防止单击时提交表单,以便仅通过以下方式提交$.ajax()

$("#form").submit(function(e) {
    e.preventDefault(); // stop the form being submit on click

    var url = $(this).attr("action");    
    $.ajax({
        type: "POST",
        url: url,
        data: $(this).serialize(),
        success: function(data, textStatus, jqXHR) {
            // Ouptut errors
        }
    });
});
于 2012-08-06T13:41:52.177 回答