我正在尝试将一个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
我相信我一定是犯了一些愚蠢的错误。但是对于我的生活,我无法找到什么。
非常感谢任何帮助。
答案 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”);
你实际上想要一个回调函数来加载来自
的响应.posthttp://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);
以查看实际发布的变量