1

我的ajax jsfiddle不适用于最新的 jQuery (1.7.2) 但 1.4.x 没问题。使用萤火虫我可以看到响应是正确的,但没有触发成功。

知道如何使它适用于最新的吗?

function ajaxcall() {
    $.ajax({
        type: 'post',
        url: '/echo/html/',
        dataType: 'html',
        data: {
            // 'html': button + script,
            'html': "test",
        },
        success: function(data) {
            //alert("ajax finished");
            $('#table').html(data);
        },
        dataType: 'text/html'
    });
}

最终工作版本在这里

4

2 回答 2

2

编辑:

这是一个使用/echo/html/jQuery的工作版本$.ajax()

$(document).ready(function(){
    var $button = $('#createissue');

    var test = function(){
        $.ajax({
            url: '/echo/html/',
            type: 'post',
            success: show,
            data: {
                delay: 5,
                html: '<table><tr>' +
                    '<th>summary</th><td>This is a summary for an issue</th>'+
                    '<th>reporter</th><td>Christopher Robin</th>'+
                    '<th>assignee</th><td>Jared from Subway</th>'+
                    '<th>securitylevel</th><td>Hands in the air! Everyone is suspect.</th>'+
                    '<th>description</th><td>Something descriptive goes here, I suppose.</th>'+
                    '</tr></table>'
            }
        });
    };

    var show = function(table) {
        console.log(table);       
        $(document.body).append(table);
    };

    $button.click(test);
});

http://jsfiddle.net/userdude/YCecC/1/


我知道我在某个地方有一个,但不幸的是我没有准备好纯 html 版本。

var test = function(){
    $.ajax({
        url: '/echo/json/',
        success: show,
        type: 'post',
        data: {
            delay: 5,
            json: JSON.stringify({
                summary: 'This is a summary for an issue',
                reporter: 'Christopher Robin',
                assignee: 'Jared from Subway',
                securitylevel: 'Hands in the air! Everyone is suspect.',
                description: 'Something descriptive goes here, I suppose.'
            })
        }
    });
};

var show = function(json) {
    var $row,
        $cell,
        rows = {};

    $tbody.empty();

    for (field in json) {
        $row = $tr.clone();

        $cell = $td.clone();
        $cell.text(field);

        $row.append($cell);

        $cell = $td.clone();
        $cell.text(json[field]);

        $row.append($cell);

        rows[field] = $row;
    }

    $tbody.append(
        rows.summary,
        rows.securitylevel,
        rows.reporter,
        rows.assignee,
        rows.description
    );

    $table.append($tbody);

    $(document.body).append($table);
};

http://jsfiddle.net/userdude/YCecC/

于 2012-06-24T01:12:39.687 回答
2

使用dataType: 'html'应该这样做

function ajaxcall() {
    $.ajax({
        type: 'post',
        url: '/echo/html/',
        dataType: 'html',
        data: {
            // 'html': button + script,
            'html': "test",
        },
        success: function(data) {
            //alert("ajax finished");
            $('#table').html(data);
        },
    });
}

演示

希望这可以帮助

于 2012-06-24T03:47:55.803 回答