控制器可以提供json或html

时间:2013-05-20 13:42:30

标签: javascript jquery

问题是控制器可以提供json或html片段。怎么知道它是什么?

$(document).on("submit", "form.client-form", function () {
    $.ajax({
        type: this.method,
        url: this.action,
        data: $(this).serialize(),
        success: function (result) {
            if (result is json) { 
                ... 
            } else if (result is html) {
                $("#result").html(result);
            }
        }
    });
});

3 个答案:

答案 0 :(得分:2)

另一种解决方案......在此处找到:jquery how to check response type for ajax call

$(document).on("form.client-form", "submit", function () {
    $.ajax({
        type: this.method,
        url: this.action,
        data: $(this).serialize(),
        success: function(result, status, xhr){ 
            var ct = xhr.getResponseHeader("content-type") || "";
            if (ct.indexOf('html') > -1) {
                //html here
                $("#result").html(result);
            }
            if (ct.indexOf('json') > -1) {
                //json here
            } 
        }
    });
});  

答案 1 :(得分:0)

$(document).on("form.client-form", "submit", function () {
    $.ajax({
        type: this.method,
        url: this.action,
        data: $(this).serialize(),
        success: function (result) {
            try {
                var response = $.parseJSON(result); 
            }
            catch (ex){
                //something else
                $("#result").html(result);
            }
        }
    });
});

答案 2 :(得分:0)

如何使用转换器?看看在jquery ajax api上使用转换器:http://api.jquery.com/jQuery.ajax/