jquery ajax从不调用浏览器

时间:2013-09-21 05:59:42

标签: jquery ajax

我发现我的ajax方法实际上从未被调用过。我正在使用此代码:

$("#client").change(function(e) {   
    var url = 'https://...../clientToStations.php';
    var data = 'ident=' + $("option:selected", this).val()

    alert("curl -X POST -d " + data + ' ' + url);

    $.ajax({
        type: POST,
        url: url,
        data: data,
    }).done(function(html) {
        alert('Done');
        $("#station").html(html).removeAttr('disabled');
    }).fail(function( jqXHR, textStatus, errorThrown ) {
        alert('fail');
    }).always(function () {
        alert('always');
    });
});

我确实看到了我期望的警报。如果我将curl命令复制/粘贴到我的终端中,我会收到我期望的确切数据。但是,没有一个done / fail / always方法在这里被击中。

然后我编辑了clientToStations.php来做一个error_log()来说它被调用了。当ajax“运行”时,该消息永远不会出现在我的apache错误日志中。当我手动运行curl命令时,它确实正确显示。日志中没有出现其他错误。

1 个答案:

答案 0 :(得分:0)

答案最终没有使用done / fail / always,并回到ajax调用本身内所谓的较旧的'success'元素。

    $.ajax({
        type: 'POST',
        url: 'https://..../clientToStations.php',
        data: {
            ident: $("option:selected", this).val()
        },
        success: function(html) {
            ....
        }
    });

我还将'data'参数更改为对象而不是构建的字符串,但这与实际问题无关。