0

私は ajax の基礎を学ぼうとしていますが、実際に機能させることはできません。これが私が試していることです。

ファイル:create_comment.php (表示)

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>

<script>
   $(function(){
       $("#comment").submit(function(){

         var name = $("#name").val();


         $.ajax({
           type: "POST",
           url: "<?php echo base_url(); ?>index.php/comment/create",
           data: "name="+name,
           dataType: 'json',

           success: function(result){    
                $('#write').html(result.returnValue);
           },
           error: function(xhr, status, error) { 
                alert('Error: '+ xhr.status+ ' - '+ error); },

         });

         return false;  

      });
   });
</script>

<title>Untitled Document</title>
</head>

<body>
<h3>New Comment</h3>
<form id="comment" method="post">
<label>Name: </label><input type="text" id="name" name="name" /><br
<label>&nbsp;</label><input type="submit" value="Submit" />
</form>

<div id="write" ></div>
<!-- here is the script that will do the ajax. It is triggered when the form is submitted --></body></html>

ファイル: comment.php (コントローラー)

<?php

class Comment extends CI_Controller{

function  __construct() {

    parent::__construct();
    $this->load->helper('url');
}

function index(){

    $this->load->view('create_comment');


}

function create(){

    if($_POST) {
           echo json_encode(array("returnValue"=>"This is returned from PHP")); 
    }
}


}
?>

for を送信すると、常に次のようなメッセージが表示されます: Error: 0 - OK これは、'success' 関数を取得していないことを意味します。エコーする代わりに「return」を使用すると、成功関数に入ります (ただし、明らかに結果を出力することはできません)。

これはこれまでで最も簡単な質問に違いないことはわかっていますが、何が間違っているのでしょうか?

4

2 に答える 2

1

みんな私は解決策を見つけました。

$config['compress_output'] = TRUE; を設定しました。

FALSE に設定すると、すべて正常に動作します!!

ありがとうございました!

于 2012-10-17T17:06:41.047 に答える
-1

ここに画像の説明を入力

圧縮の問題を修正するには、codeigniter から圧縮を無効にせずに php.ini で有効にする必要があります。

于 2016-07-21T14:39:16.557 に答える