私は、admin_getcontentsという関数を持つImportControllerを持っています。 AJAXを通じてcakePHPがURLをパラメータとして渡す
function admin_getcontents($url = null)
{
$contents = json_decode(file_get_contents(($url)),true);
//some stuff
}
私は/管理/インポート/のgetContents /呼び出す:私はページを呼び出す
$.get('/admin/import/getcontents/'+ encodeURIComponent($('#urlcheck').val()) ,function(data) {
$('#importtable').html(data);
$('#busy-indicator').fadeOut('high');
});
:/管理/インポート/のgetContents/HTTP%3A%2F%2Flocalhost%2Feclipse% 2Fanarxeio%2Fexport%2Fcontents%2F
Apacheは404エラーを表示します。/admin/import/getcontents/1を呼び出すと、ページが正しく読み込まれます。だから、私は渡すと思った? ?のようなパラメータの前に:
管理/インポート/のgetContents/HTTP%3A%2F%2Flocalhost%2Feclipse%2Fanarxeio%2Fexport%2Fcontents%2F
は今、私は404エラーが、$のURLのparamを得ることはありませんin admin_getcontents()は空です。上記をどのように達成できますか?あなたのPHPのその後
// javascript
$.get('/admin/import/getcontents/'+ encodeURIComponent(encodeURIComponent(encodeURIComponent($('#urlcheck').val()))) ,function(data) {
$('#importtable').html(data);
$('#busy-indicator').fadeOut('high');
});
URLデコード、それはあなたがそれを使用する前に:
おかげ
これは機能しません。問題はcakePHPにあります。$ _REQUESTの配列にURLがあるのがわかります。しかし、cakePHPは関数のparamを認識しません。 – gong
ああ、申し訳ありませんが、あなたのルートを正しく設定したと仮定しました。私はそれを試して、それは動作します。私の答えを更新させてください。 –
さらに、あなたは404を手に入れていると言いましたか?あなたは404を取得している場合、どのようにリクエストオブジェクトを見ることができますか? –