ホームページ  >  記事  >  バックエンド開発  >  Linux php での Ajax リクエスト中に URL パスが繰り返される

Linux php での Ajax リクエスト中に URL パスが繰り返される

WBOY
WBOYオリジナル
2016-08-08 09:23:171173ブラウズ

1. プロジェクトで使用される YII フレームワークは、モジュールの下の Usertest.php にメソッドがあります:

public function getTextArea($fieldName,$usertest_id) {    	      
        return CHtml::activeTextArea($this,$fieldName,array("name"=>$fieldName."_".$usertest_id,'style'=>'rows:3;cols:20;',"ajax" => array("type"=>"POST","url"=>"/usertest/ChangeComments", "data"=>array("usertest_id"=>$usertest_id,"usertest_comments"=>"js:this.value"),"success"=>"js:alert(\"Update comments success!\")")));     
    }
は usertest/index.php で呼び出されます。コードは次のとおりです:

array(
        'name' => 'usertest_comments',
        'id' => 'usertest_comments',
        'header'=>'Comments',
       'type'=>'raw',
        'value'=>'$data->getTextArea(\'usertest_comments\',$data->usertest_id)',
        'htmlOptions'=>array('style'=>'width:100px;'),
       ),

は Windows 上で開発され、ページにアクセスできません 問題、アクセス パスは正しいです: */usertest/ChangeComments, しかし、Linux に置くと、 */usertest/usertest/ChangeComments となり、データを変更できなくなります。

2.

①という方法を試してみました。一重引用符と二重引用符の問題だと思い、コードを次のように変更しました。それでも解決しないので、再度一重引用符に変更すると、エラーが直接報告されます。後で元に戻したところ、Windowsでも同様のエラーが出てしまい、絶句しました。

②「url」=>「usertest/ChangeComments」を「url」=>「

/usertest/

changeComments」に変更します。 Linux では大文字と小文字が区別されますが、それでも動作しません。 ③次に、これを次のように変更します: "url"=>"http://enduserfeeds.ta-mp.com:8080/usertest/c

hangeComments

", がありますWindowsでは問題ありません。結果は Linux に置かれ、エラーが報告されました。 いいえ 要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在します。Origin 'http://172.24

Baidu、この記事に従って変更すると (クリックしてリンクが開きます)、わかりました 。その後、絶対パスを削除して「dataType」=>「JSONP」だけを残しましたが、問題ないようでした。
3. とにかく、プログラムはいつも行ったり来たりして、最終的にはこのように問題が解決されました

上記では、Linux PHP での Ajax リクエスト中の URL パスの重複を、関連する側面も含めて紹介しており、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。