如何在同一页面中将数据从javascript传递到php

时间:2018-04-26 21:20:31

标签: javascript php ajax

我想知道如何将数据从我的脚本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;  
?>  

只是一个普通的回声来测试数据是否已发布

2 个答案:

答案 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响应