モデル内の関数から返されたデータベースクエリに基づいて、いくつかのhtml要素を動的に生成するcodeigniterアプリケーションを使用しています。
私のビューの1つでは、XMLHttpRequestを使用して、コントローラーの1つでphp関数を呼び出します。この関数は、モデルから文字列の形式でデータを取得し、それをresponseTextにエコーします。私のJavaScriptコードは次のようになります。
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", "/controller/my_function", true);
var postStr = "name="+proposalName+"&data="+data;
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(postStr);
var response = xmlHttp.responseText;
呼び出された関数は次のようになります。
public function my_function(){
$data['name'] = $this->input->post('name');
$data['data'] = $this->input->post('data');
$string = $this->my_model->my_model_function($data);
echo $string;
}
モデルは文字列を正しく返し、関数で乱数または文字列をエコーした後でも、応答テキストから何も取得しませんでした。関数に何をエコーしようとしても、応答テキストには何も表示されません。私はここで何が間違っているのですか?php関数から正しい値を取得するためにresponseTextを取得するにはどうすればよいですか?
編集:postStr変数のコピーの問題を修正しました