Javascript AJAX请求在远程主机上不工作

Javascript AJAX请求在远程主机上不工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个AJAX请求,它从表单中提取数据并将其发布到API。奇怪的是,它在本地主机上运行得非常好,但在我上传到远程服务器时却悄无声息地失败了。我的意思是无声的:响应代码是空的,日志中没有任何内容。我已经检查了Firefox和Chrome。jQuery已加载,函数已正确启动。代码如下: function send() { console.log("preparing"); var beacon = { beaconID: $("#beaconID").val(),

我有一个AJAX请求,它从表单中提取数据并将其发布到API。奇怪的是,它在本地主机上运行得非常好,但在我上传到远程服务器时却悄无声息地失败了。我的意思是无声的:响应代码是空的,日志中没有任何内容。我已经检查了Firefox和Chrome。jQuery已加载,函数已正确启动。代码如下:

function send() {
    console.log("preparing");
    var beacon = {
        beaconID: $("#beaconID").val(),
        name:$("#beaconName").val(),
        campaignID:$("#campaignID").val(),
        clientID:$("#clientID").val()
    }
    console.log("payload:");
    console.log(beacon);

    $.ajax({
        type: 'POST',
        url: '../beaconAPI/index.php/createBeacon',
        data: JSON.stringify(beacon),
        contentType: "application/json; charset=utf-8",
        traditional: true,
        success: function (response) {
            console.log("done:");
            console.log(response);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log(JSON.stringify(jqXHR));
            console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
         }
    });
}

从你发表的评论中

10:33:21.046 "{"readyState":0,"responseText":"","status":0,
"statusText":"error"}" addBeacon.html:34 10:33:21.046 "AJAX error: error : "
状态代码为零表示以下两种情况之一:

  • 您正在运行文件协议
  • 在进行Ajax调用时刷新页面
  • 既然你说这是在制作中,听起来像是#2

    因此,您需要取消导致页面刷新的操作。由于您没有显示如何调用send,下面是一些取消操作的基本方法

    onclick="send(); return false" 
    onsubmit="send(); return false"
    
    $("#foo").on("click", function(e) {
        send();
        e.preventDefault();
    });
    

    您的url路径在服务器上更改了吗?
    10:33:21.046“{”readyState:0,“responseText:“,”status:0,“status text:”error“}”addBeacon.html:34 10:33:21.046“AJAX错误:error:”
    该页面正在重新加载,我想知道为什么。添加“返回错误”有效。非常感谢你。从昨天起我就一直在努力让它工作。