0

私はcakephpを使用しています。表示するphpファイルをプルするajaxリクエストがあります。
私が抱えている問題は、プルされているphpファイルがプルされる前にphpコードを実行する必要があるということです。フォームを作成するのはcakephpコードです。現時点では、phpファイルはhtmlではなくファイル内にそのまま表示されており、ブラウザから直接表示すると変更されます。

これを克服する方法がわかりません。何か案は?
どうもありがとう

CODEJquery-
_

var request = $.ajax({
        url: "/files/Users/"+name+".ctp",
        type: "GET",
        dataType: "html",
        error: function(jqXHR, textStatus) {
            $('#pageLoading p').html('We have experienced a problem. Please try again later.');
            return false;
        },
        success: function(msg) {
            sortData(msg);
        }

phpファイルの一部(実際には.ctpファイルですが、.phpコードが含まれています)-

<?php
echo $this->Form->create();
$options = array(
'label' => ' ',
'id' => 'formSubmit',
'class' => 'userSubmit',
'div' => FALSE
);
echo $this->Form->end($options);
?>

Cakephpでは、このphpはhtmlとして表示されますが、ajaxで取得して画面に印刷すると、次のように表示されます。

4

2 に答える 2

1

url: "/files/Users/"+name+".ctp",

私には間違っているように見えます。

controller/actionCakeがビューファイルを適切に実行および解析するために、を渡す必要があります。

また$this->layout = 'ajax';、便利かもしれません。そのため、応答に「メイン」レイアウトのhtmlコードが含まれることはありません。

于 2012-08-01T15:08:10.437 に答える
1

あなたの基本的な考えは間違っているようです:.ctpファイルを直接フェッチするのではなく、コントローラー/ビューの考えに固執してください。
代わりに、コントローラーにコントローラーメソッドを作成しUsersます

public function show_form($name){
}

フォームコードを含む一致するビューファイルが用意されていることを確認してください。例View/Users/show_form.ctp

次へ:スクリプトが次のことを呼び出していることを確認します。http://example.com/users/show_form/the_name

于 2012-08-01T15:15:13.783 に答える