PHP脚本没有响应

时间:2013-05-08 04:10:56

标签: php javascript jquery ajax

完全不熟悉PHP,到目前为止它并不漂亮。 无论如何,我正在尝试将变量传递给PHP脚本,用它做一些事情,并将其传递回我的Javascipt代码。

这是我把它传递给PHP的地方:

   var src=encodeURIComponent("http://www.someonlinesite.com/file.swf");
   $.ajax({
       url:'test.php?src='+src,
       dataType:'json',
       success:function(response){
           alert(response)
       }
   });

这是脚本:

<?php
   $src=isset($_GET['src'])?$_GET['src']:'';
   $size=getimagesize($src);
   echo json_encode(array('size'=>$size));
?>

我正在尝试将.SWF视频文件的URL传递给一个小的PHP脚本,该脚本将使用getImagesize()来计算它的尺寸并将它们传回....但我没有看到任何东西在响应中,alert未触发。

出了什么问题?

更新

我根据一些不错的SO成员的建议更新了最新的代码。当我对$ src变量进行硬编码并直接导航到test.php时,它完美地回应了所有内容。所以,看起来PHP正在运行。但是,似乎回调永远不会触发,或者PHP文件没有返回数据。在控制台中,响应中仍然没有任何内容。

2 个答案:

答案 0 :(得分:4)

您需要在url中连接get()字符串参数:

$.get('test.php?src=' + src, function(data){
   alert(data);
});

此外,您的src变量以双引号开头,并以单引号关闭。这将导致问题。

var src="http://www.someonelinesite.com/file.swf";

此外,由于您传递了URL,因此通过$_GET执行此操作可能是个坏主意。在你通过之前$_POST会更好或encode the URL。您现在传递的当前url在浏览器中看起来像这样:

http://www.mysite.com/test.php?src=http://www.someonelinesite.com/file.swf

那不漂亮。使用encodeURIComponent(),您的整个网址最终将如下所示:

http://www.mysite.com/test.php?src=http%3A%2F%2Fwww.someonelinesite.com%2Ffile.swf 

编辑为$ .ajax

上面的

$.get工作得很好,但随着$.ajax的实施也适用:

$.ajax({
   url:'test.php',
   type: 'GET', //Add the type
   dataType:'json',
   data: {'src': src}, //Add the data, leave it out the url
   success:function(data){
       alert(data)
   }
});

答案 1 :(得分:0)

试试这个:

在Jquery中:

    var src="http://www.someonelinesite.com/file.swf";
    $.ajax({
       url:'test.php?src='+src,
       dataType:'json',
       success:function(response){
              alert(response.size);
       }
    });

在php中

    $src=isset($_GET['src'])?$_GET['src']:'';  
    $size=getimagesize($src);
    echo json_encode(array('size'=>$size));

&GT;