我有一個jQuery load()
函數,它調用控制器函數,而是從控制器索引函數加載load->view()
,導致整個頁面被加載到div中。從控制器加載函數加載控制器的索引函數
HTML 「mypage.php」
<h1 class="output"></h1>
<button class="button" onclick="accept(); return false;"> Accept</button>
JS:
function accept(){
$('.output').load('mycontroller/accept');
}
PHP控制器:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class Mycontroller extends CI_Controller {
function index() {
$this->home();
}
function home() {
$this->load->view('user/home');
}
/// load page where button is
function mypage(){
$this->load->view("user/mypage");
}
function accept(){
echo 'HELLO PHP controller';
}
}
如果我從控制器刪除索引功能,它不發生,但仍然從控制器的「接受」功能不運行:(
我有一個類似的頁面「home」,它在索引函數中被調用。因此http://localhost:8888/mysite/mycontroller/
它具有相同類型的load()
,它的工作原理。但是,如果在'/ mycontroller'之後追加/index
或home
,則與其他頁面「mypage」有同樣的問題。所以就像load()
函數只有在指向沒有任何功能的控制器本身時才起作用。請問這與.htaccess
設置有關嗎?
的.htaccess:
Options -Indexes
Options +FollowSymLinks
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule (.*)\.php$ index.php/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
會明白任何幫助。 在此先感謝。
,代碼可以幫助其他地區 - PHP至少 – Deryck 2014-12-13 01:46:18
@Deryck剛剛編輯和添加加載其中按鈕是認爲缺少的功能。就像這樣,仍然索引正在加載而不是接受。這很奇怪,我真的不明白爲什麼不工作。一切似乎都適合我。 – 2014-12-13 02:00:19
'user/home'有一個類似的腳本,工作正常,但我注意到了一些事情:URL是:'http:// localhost:8888/mysite/mycontroller /'它工作正常。但是如果我在控制器後面添加'/ index',頁面加載正常,但Jquery'load()'函數與我在mypage上的最初問題相同。所以我想這是一個路由重定向問題,它可能是.'.htaccess'嗎? – 2014-12-13 19:29:42