麻烦将变量从JS发布到PHP

时间:2017-02-06 13:05:22

标签: javascript php jquery post

我正在尝试将一个JS变量发送到php文件。它没有发生。在类似的情况下,有很多问题得到了回答。我可能犯了一些类似的错误。虽然,我无法弄清楚它是什么。

守则如下;

main.php

<script type="text/javascript"> var socialurl= "<?php echo $url;?>";</script>

JS

jQuery(function(){
    alert('socialurl');
    $("#smshare").click(function(){
       $("#smp").slideToggle("fast");
       $.post("social-media-share.php", {socialurl: socialurl });
       $("#smp").load("social-media-share.php");
     });
});

社交媒体share.php;

<?php 
   $socialurl=$_POST['socialurl']
   echo $socialurl."<br>"; 
   include('conn.php');
   $socialurl = $conn->real_escape_string(trim($_POST['socialurl']));
?>

<a href="whatsapp://send?text=<?php echo $socialurl;?>" data-text="<?php echo $socialurl;?>" data-href="" class="wa_btn wa_btn_s"><img src='images/share.png' width="30" height="30" alt='WhatsApp Share'></a>

使用JS将文件social-media-share.php调用到main.php中。在main.php

中定义JS变量socialurl之前

变量值在JS中以警报形式弹出,但未发布到social-media-share.php

我相信我一定是犯了一些愚蠢的错误。但是对于我的生活,我无法找到什么。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我认为问题是你发布到页面,然后通过GET请求再次加载它,所以你没有加载发布请求本身的结果。所以除非在社交媒体上分享GET .php正在显示数据库结果我不确定你实际上是在加载你想要的东西。

jQuery(function(){
    alert('socialurl');
    $("#smshare").click(function(){
       $("#smp").slideToggle("fast");
       $.post("social-media-share.php", {socialurl: socialurl });
       $("#smp").load("social-media-share.php");
     });
});

这个底线是做错了。 $( “#SMP”)负载( “社交媒体-share.php”);

你实际上想要一个回调函数来加载来自

的响应.post

http://api.jquery.com/jQuery.post/

$.post( "social-media-share.php", {socialurl: socialurl })
  .done(function( data ) {
//you might need to do some other stuff to data here
    $("#smp").html(data);
  });

或者,您可能在social-media-share.php脚本中出现错误,因此您可以尝试执行var_dump($_POST);以查看实际发布的变量