完全不熟悉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文件没有返回数据。在控制台中,响应中仍然没有任何内容。
答案 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
$.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;