Heim  >  Artikel  >  Backend-Entwicklung  >  linux php下Ajax请求时URL路径出现重复

linux php下Ajax请求时URL路径出现重复

WBOY
WBOYOriginal
2016-08-08 09:23:171169Durchsuche

1. 项目用的YII框架,在module下面的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. 尝试了一下方法,,

①以为是单双引号的问题,代码改成下面这样:

    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!\")")));     
    }
问题还是没有解决,又改成单引号,直接报错了。后面改回来时windows上竟然也报错了,跟Linux一样,无语了。

②把"url"=>"usertest/ChangeComments"改成"url"=>"/usertest/changeComments", Linux对大小写敏感,发现还是不行。

③后面改成这样子的:"url"=>"http://enduserfeedback.ta-mp.com:8080/usertest/changeComments",windows上没有问题了。结果放到Linux上,发现报错了,

 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://172.24

百度了下,按照这个文章(点击打开链接)改了之后,可以了。后面把绝对路径去掉,只留下"dataType"=>"JSONP", 貌似也没有问题。

3. 反正程序总是来回折腾,最后就这样解决了问题

以上就介绍了linux php下Ajax请求时URL路径出现重复,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
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