繁体   English   中英

AJAX和500内部服务器错误

[英]AJAX and 500 Internal Server Error

我正在CodeIgniter中构建一个Web应用程序,并且正在使用jQuery和AJAX。 我在本地创建了整个应用程序(使用XAMPP),并且一切正常。 将应用程序上传到我的虚拟主机后,一个AJAX不断失败。 这是代码的一部分:

// Get all form inputs
var inputs = $('#app-options-existing-form :input[type="text"]');

// Put them in object as name=>value
var data = {};

for(i=0; i<inputs.length; i++) {
    data[inputs[i]["name"]] = inputs[i]["value"];
}

// Put loader while AJAX is working
$(".app-content-container").html('<center><img class="loader" src="<?php echo base_url();?>/img/loader.gif" ></center>');

console.log(data);

// Generate POST request
$.post("<?php echo site_url("admin/ajax_app_options"); ?>",
{"add_existing_form_submited" : true, "data" : data2},
function (data) {
    alert("test" + data);       
});

这是显示错误和console.log(data)结果的控制台 console.log(数据)的错误和结果

首先,我以为键(“ d1d1d1”)是问题所在,因为我第一次使用“ 1-1-1”,并且在手动更改它之后,它就可以工作了。 但是后来我更改了“ d1d1d1”中的所有内容,但此方法不再起作用。 就像我说的那样,它可以在XAMPP上运行,但不能在服务器上运行。 在AJAX中使用完整URL而不是相对URL可能是一个问题? 但是我也在其他AJAX请求中使用了它,并且它可以工作。

可以肯定,您的问题是这个人'<center><img class="loader" src="<?php echo base_url();?>/img/loader.gif" ></center>'

您的源将<?php echo base_url();?>/img/loader.gif输出到<?php echo base_url();?>/img/loader.gif ,这当然不是真正的链接。 因此,它是无法加载的资源。

您可能想尝试使用: '<center><img class="loader" src="/img/loader.gif" ></center>'

无论如何, base_url()函数只会返回“ /”。

重要! 通常,您不能用JavaScript编写php。 否则,这将是一个巨大的安全漏洞,从而使访问您网站的每个用户都可以不受限制地访问您的服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM