Heim > Backend-Entwicklung > PHP-Tutorial > URL-Pfade werden bei Ajax-Anfragen unter Linux PHP wiederholt

URL-Pfade werden bei Ajax-Anfragen unter Linux PHP wiederholt

WBOY
Freigeben: 2016-08-08 09:23:17
Original
1216 Leute haben es durchsucht

1. Das im Projekt verwendete YII-Framework verfügt über eine Methode in Usertest.php unter dem Modul:

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!\")")));     
    }
Nach dem Login kopieren
Der aufrufende Ort befindet sich in usertest/index.php, der Code lautet wie folgt:

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

Entwickelt unter Windows, es gibt kein Problem mit dem Seitenzugriff und der Zugriffspfad ist korrekt: */usertest/ChangeComments , Unter Linux wird es jedoch zu: */usertest/usertest/ChangeComments, was dazu führt, dass die Daten nicht geändert werden können.

2. Ich habe diese Methode ausprobiert:

① Ich dachte, es sei ein Problem mit einfachen und doppelten Anführungszeichen, also habe ich den Code wie folgt geändert :

    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!\")")));     
    }
Nach dem Login kopieren
Das Problem wurde immer noch nicht gelöst, also habe ich es in „Single“ geändert zitiert und einen Fehler direkt gemeldet. Als ich es später wieder änderte, wurde auch unter Windows ein Fehler gemeldet. Es war derselbe wie bei Linux. Ich war sprachlos.

②Ändern Sie "url"=>"usertest/ChangeComments" in "url "= >"/usertest/changeComments", Linux unterscheidet zwischen Groß- und Kleinschreibung, funktioniert aber trotzdem nicht.

③Dann ändern Sie es wie folgt: "url"=>"http://enduserfeedback.ta- mp. com:8080/usertest/changeComments“, gibt es unter Windows kein Problem. Das Ergebnis wurde auf Linux übertragen und ein Fehler gemeldet,

Nein Der Header „Access-Control-Allow-Origin“ ist auf der angeforderten Ressource „http://172.24

Baidu Next“ vorhanden Nachdem Sie die Änderungen gemäß diesem Artikel vorgenommen haben (klicken Sie hier, um den Link zu öffnen), ist alles in Ordnung. Später habe ich den absoluten Pfad entfernt und nur „dataType“ => „JSONP“ übrig gelassen, was kein Problem zu sein schien.

3. Wie auch immer, das Programm ging immer hin und her und schließlich wurde das Problem so gelöst

Das Obige stellt die Duplizierung von URL-Pfaden während Ajax-Anfragen unter Linux PHP vor, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage