0

对 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 文件没有返回数据。在控制台中,响应中仍然没有任何内容。

4

2 回答 2

4

你需要连接你的url字符串参数get()

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

而且,您的src变量以双引号开头并以单引号结束。那会引起问题。

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

$_GET此外,由于您正在传递 URL,因此通过执行此操作可能不是一个好主意。$_POST会更好或在传递URL之前对其进行编码。您现在正在传递的电流url在浏览器中看起来像这样:

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

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

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)
   }
});
于 2013-05-08T04:13:03.770 回答
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));

?>

于 2013-05-08T04:20:52.477 回答