我发现我的 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 命令时,它会正确显示。日志中没有出现其他错误。