这个花了一整天才弄明白。而且无论多么愚蠢 可能听起来但它就是这样,一个愚蠢的拼写错误,不是 确切地说是一个拼写错误,我拼写了控制器 应用程序>模块>联系>控制器,如应用程序>模块>联系>控制器,查看' C'控制器。 :|
我尝试使用尾随' /'没有' /'我尝试手动提供url到ajax函数,而不是从action
的{{1}}属性中提取它,但没有任何效果。 我一直在收到错误404 正在进行什么?
我正在使用wiredesignz HMVC和Controller Contact驻留在应用程序>模块>联系>控制器> Contact.php
有一点需要提及,由于某种原因,我无法访问 http://example.com/Contact如果我尝试在浏览器中通过网址访问它, 我总是在本地主机和在线
上得到错误404虽然我可以访问网站上的其他控制器/页面
表单HTML
<form>
JAVASCRIPT
<form id="contact-form" class="form-horizontal subscribe" accept-charset="utf-8" action="<?= base_url ( 'Contact/' ); ?>" method="post">
<!--Name-->
<div class="form-group">
<label class="sr-only" for="name">Name</label>
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon glyphicon-user" aria-hidden="true"></span></div>
<input id="name" type="text" class="form-control validate" name="name" placeholder="Your full name" value="">
</div>
</div>
<!--Email-->
<div class="form-group">
<label class="sr-only" for="email">Email</label>
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span></div>
<input id="email" type="text" class="form-control validate" name="email" placeholder="Your email address" value="">
</div>
</div>
<!--Message-->
<div class="form-group">
<label class="sr-only" for="message">Message</label>
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span></div>
<textarea id="message" name="message" class="form-control" rows="3" placeholder="Message"></textarea>
</div>
</div>
<!--Submit Button-->
<div class="form-group text-right">
<input id="contact_us" type="hidden" name="contact_us" value="Submit" />
<button type="submit" id="contact_us" class="btn btn-warning" name="contact_us" value="Submit">
Send <span class="glyphicon glyphicon-send" aria-hidden="true"></span>
</button>
</div>
</form>
控制器 (http://example.com/Contact)
<script>
$( '#contact-form' ).submit ( function ( event ) {
event.preventDefault ( );
event.stopPropagation ( );
var $scriptUrl = $( '#contact-form' ).attr ( 'action' );
var $data = new FormData( $( '#contact-form' ) [ 0 ] );
$data.append ( 'myUrl', window.location.href );
$.ajax ( {
method : 'POST',
url : $scriptUrl,
data : $data,
cache : false,
processData: false,
contentType: false,
dataType : 'json',
success : function ( data, textStatus, jqXHR ) {
if ( data.success === true ) { alert ('success'); }
else { alert ('failure'); }
},
error : function ( jqXHR, textStatus, errorThrown ) {
alert ( jqXHR.responseText );
}
} );
} );
</script>
的.htaccess
/*I am testing with print_r($_POST); only for the time being*/
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Contact extends MX_Controller {
private $data;
public function __construct ( )
{
$this->data['stylesheets'] = [ 'welcome' ];
$this->data['javascripts'] = [ 'welcome' ];
}
public function index ( )
{
print_r($_POST);
}
}