即使我添加了“if(!defined('BASEPATH'))exit('不允许直接脚本访问');实际上我需要在div中显示数据我 AJAX 调用:下面是 AJAX 调用,它调用Createcaptcha来获取数据,但它没有响应数据而是响应“不允许直接脚本访问”
$(document).ready(function(){
$.ajax({
type: "POST",
url: 'website/Createcaptcha',
success: function(data){
$("#captcha").html(data);
}
});
});
下面是控制器
public function Createcaptcha(){
$image = $this->captcha_model->create_image();
echo $image;
}
响应数据在div中显示为“不允许直接脚本访问”,它在xampp localhost上工作正常
5条答案
按热度按时间vzgqcmou1#
检查你的BASEPATH是否设置在codeigniter中。它设置在根文件夹的index.php中。只需回显BASEPATH,看看它打印了什么。
在index.php中找到以下内容
esbemjvw2#
我用
<?php
替换了<?
,由于服务器中的php设置,一切都工作正常。t5fffqht3#
请使用
在database.php文件中。
ibps3vxo4#
我也有一个类似的问题,对于那些可能会为这个问题寻找答案的人,我的十分钱。
在基本路径中,网站名称设置为htts:www.websitename.com,客户端打开时不使用https(http://www.websitename.com),在某些情况下也不使用www(https://websitename.com或http://websitename.com)。
因为它们中的任何一个都不匹配定义的basepath,所以该请求不会被视为 AJAX 请求。解决方案:确保您有正确的重定向(http到https,非www到www)。
https & www redirecting answer link
bsxbgnwa5#
在我的情况下,项目路径(基本URL)是错误的。