私はCodeIgniterで作業しています。私の問題は、Ajaxを使用してコントローラに文字列を送信しようとしたときに、他の文字列に文字列を返して返します。エラー。 JQueryライブラリは正常にロードされます。 ここに私のコードです。私は本当に何が間違っているのか分からない。 - myView.php:私のAjax関数コードは常にエラーを返します
<!DOCTYPE html>
<html>
<head>
\t <title>myView</title>
\t <script type="text/javascript" src="<?php echo base_url().'assets/js/jquery.js' ?>"></script>
\t <script type="text/javascript">
\t $(document).ready(function()
\t {
\t \t $('#bttn').click(function()
\t \t {
\t \t \t var variable = $('#name').val();
\t \t \t $.ajax(
\t \t \t {
\t \t \t \t type:'POST' ,
\t \t \t \t data:{ name : variable } ,
\t \t \t \t url:'<?php echo site_url('myController/message') ?>',
\t \t \t \t success:function(result)
\t \t \t \t {
\t \t \t \t \t $('#result').html(result);
\t \t \t \t },
\t \t \t \t error: function()
\t \t \t \t {
\t \t \t \t $('#result').html('<p>An error has occurred</p>');
\t \t \t }
\t \t \t });
\t \t });
\t });
\t </script>
</head>
<body>
\t name :
\t <input type="text" id="name" placeholder="Name"/>
\t <input type="button" value="Submit" id="bttn"/>
\t <h1 id="result"></h1>
</body>
</html>
- myController.php:
<?php
class MyController extends CI_Controller
{
\t public function index()
\t {
\t \t $this->load->view('myView');
\t }
\t public function message()
\t {
\t \t $name = $this->input->post('name');
\t \t return 'Good evening Mr' . $name . '. I\'m Dr Hannibal Lecter';
\t }
}
?>
ブラウザにコンソールがあります。エラーが発生した場合は、サーバーからの応答コードでコンソールにエラーメッセージが表示されます。これを出発点として使用してください。 – tilz0R
コンソールにこのメッセージが表示されます: XMLHttpRequestはhttp://[:::]]/AjaxTest/index.php/myController/messageを読み込めません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。したがって、 'http:// localhost'はアクセスが許可されていません。 –
あなたは多分httpsでですか?これは、httpsを使用していて、httpに移動しようとしているときに発生します。 – tilz0R