1

JSON 文字列を返すために Symfony2 コントローラーを使用しています。

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 に答える