我正在编写一个小函数来获取图像的URL并保存到本地服务器。
这是AJAX调用(确认它正在使用firebug将正确的URL发送到“getimdbpic.php”)
$.get("getimdbpic.php", { posterURL: data.Poster, movieTitle: data.Title },
function(picData){
alert("Data Loaded: " + picData);
});
我遇到的问题是我的PHP。
$url = $_GET['posterURL'];
$title = $_GET['movieTitle'];
file_put_contents($img, file_get_contents($url));
我根本无法获取正在传递的值。 file_put_contents抛出一个错误,指出“文件名不能为空”。 (指$ url为空)
编辑:修复了外壳,仍未接收值。
答案 0 :(得分:3)
您似乎在Javascript中的posterURL
和PHP中的posterUrl
之间混淆了这种情况。
答案 1 :(得分:0)
套管中的错字:
$url = $_GET['posterURL'];
答案 2 :(得分:0)
确保您使用的是最新的JQuery。我看到了一个非常奇怪的错误,比如关于未通过升级修复的未发送的值。
编辑 :可能希望尝试回退到标准$.ajax()
,因为$.get()
只是它的包装:
$.ajax({
url: "getimdbpic.php",
data: { posterURL: data.Poster, movieTitle: data.Title },
type: 'GET', // this is default, but just in case
success: function(picData){
alert("Data Loaded: " + picData);
}
});