即使我已添加" if(!定义(' BASEPATH'))退出('不允许直接脚本访问'); "在控制器之上。实际上我需要在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
上工作正常答案 0 :(得分:1)
检查您的BASEPATH是否在codeigniter中设置。它在根文件夹的index.php中设置。只需回显BASEPATH并查看它的打印内容。
在index.php中找到以下内容
define('BASEPATH', str_replace("\\", "/", $system_path));
答案 1 :(得分:0)
我用<?
替换了<?php
,由于服务器中的php设置,一切正常。
答案 2 :(得分:0)
请使用
operations = [
-> { puts "start" },
-> { sleep 1 },
-> { puts "halfway" },
-> { sleep 1 },
-> { puts "done\n\n" }
]
def safe_chunk(operations, index = 0)
result = operations[index..-1].each_with_index(index) do |op, idx|
begin
op.()
rescue Exception => e
safe_chunk(operations, idx) # or idx + 1
break e
end
end
result.is_a?(Array) ? nil : result
end
在 database.php 文件中。
答案 3 :(得分:0)
我有一个类似的问题,对于可能要为这个问题寻找答案的人,我付了10美分。
在基本路径中,网站名称设置为htts://www.websitename.com,并且客户端打开时没有https(http://www.websitename.com),在某些情况下也没有www(https://websitename.com或http://websitename.com )。
由于它们都不匹配定义的基本路径,因此该请求不被视为ajax请求。 解决方案:确保您具有正确的重定向(从http到https以及非www到www)。