403使用base_url()直接访问页面时禁止访问

时间:2013-10-07 10:58:15

标签: javascript php codeigniter xmlhttprequest

我尝试通过XHR访问网页时收到403错误:

$("form").submit(function( event ) {
  xmlhttp.open("GET","<?=base_url('application/views/pages/search_sql.php'); ?>",true);
  xmlhttp.send();

  event.preventDefault();
});

我可以通过直截了当的search_sql.php加载页面xmlhttp.open("GET","search_sql",true);但是它不会直接加载脚本 - 而是由控制器处理并加载其他视图,在这种情况下不需要

1 个答案:

答案 0 :(得分:1)

您正在使用CodeIgniter,为什么要尝试直接加载任何内容?

按正常方式调用页面,并添加控制器方法以执行此情况下所需的操作。所以:

假设你有一个名为'Search'的控制器,创建一个名为something的方法,让我们说'special_case'并用它所需要的任何参数调用它

<?php

class Search extends Controller {

    function index()
    {
        // I assume this is what it is currently doing
    }

    function special_case()
    {
        // Make this do whatever is required in this case.
    }

然后使用标准CodeIgniter控制器/方法/ param1 / param2 ......机制从您的Javascript中调用它。