我想知道如何将数据从我的脚本javascript传递到我的php代码以将数据用于查询 我尝试了很多东西,但它对我不起作用 所以这是我从输入类型上传文件的脚本:file然后我在downloadURL变量中获取url
var downloadURL;
...
uploadTask.on('state_changed',function(snapshot){
},function(error){
},function(){
downloadURL=uploadTask.snapshot.downloadURL;
alert(downloadURL);
});
现在我想将downloadURL
传递给我的php,以便我可以使用它
我也尝试过Ajax来完成这个任务,但它没有用,或者我使用的代码是假的
Ajax代码:
$.ajax({
type: "POST",
url: '', //same page
data: downloadURL ,
success: function(data)
{
//alert(data);
}
});
修改
Php代码:
<?php
$user=$_POST['downloadURL'];
echo $user;
?>
只是一个普通的回声来测试数据是否已发布
答案 0 :(得分:1)
以名称 - 值对方式构建data
请求的$.ajax
。
改变这个:
$.ajax({
type: "POST",
url: '', //same page
data: downloadURL ,
success: function(data)
{
//alert(data);
}
});
对此:
$.ajax({
type: "POST",
data: {"downloadURL":downloadURL} ,
success: function(data)
{
//alert(data);
}
});
我还从url
请求中删除了$.ajax
,因为by default url
设置为当前页面。
通过上述修改,您的PHP代码将保持不变(例如$user=$_POST['downloadURL'];
)。
答案 1 :(得分:0)
好的用这段代码改变你的php:
std::cout<<ISomeProfile::GetNodeVersion(); // Call to the GetNodeVersion from ISomeProfile, without implementing it's virtual method
因为您正在进行 ajax请求,所以必须返回 json ,这就是为什么我们将我们的数据解析为json(对象)然后在你的javascript ajax请求里面成功函数write < / p>
if(isset($_POST['downloadURL']) {
$response = array(
'user' => $_POST['downloadURL']
);
echo json_decode($response);
exit;
}
并且在数据之后
console.log(data);
添加此
...
data: downloadUrl,
这意味着我们告诉我们的ajax请求我们期待json响应