发送Javascript变量,然后在PHP脚本中使用

发送Javascript变量,然后在PHP脚本中使用,php,javascript,sql,Php,Javascript,Sql,是否可以将javascript变量(在本例中为当前url)发送到php脚本,然后将其插入数据库?我正在尝试将当前URL发送到insert.php文件 我有这个JS: <a href="javascript:(function(){var jsScript=document.createElement('script'); jsScript.setAttribute('type','text/javascript'); jsScript.setAttribute('src', '<?

是否可以将javascript变量(在本例中为当前url)发送到php脚本,然后将其插入数据库?我正在尝试将当前URL发送到insert.php文件

我有这个JS:

 <a href="javascript:(function(){var jsScript=document.createElement('script');
jsScript.setAttribute('type','text/javascript');
jsScript.setAttribute('src', '<?php echo $url?>/insert.php?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title));
document.getElementsByTagName('head')[0].appendChild(jsScript);
})();">Add!</a>

我的思路是对的还是完全错了?

答案是肯定的。下面是一个例子:

<script type="text/javascript">
var result = 1;
location.href="page.php?Result=" + result;
</script>

var结果=1;
location.href=“page.php?Result=“+Result;

然后使用$\u GET获取结果的值。

看起来很正确,通过构建查询字符串并发送到服务器来传递javascript变量

使用AJAX会更干净。您可以处理故障,并在插入完成时通知用户

在:


这与您已经在尝试的内容更接近。它会再次将您重定向到页面,但会为您的PHP提供一些GET变量,以便在下一次页面加载期间使用。使用AJAX会更干净,因为它会将数据发送回服务器上的PHP脚本,而无需重新加载页面。然后,如果您想根据从AJAX脚本返回的响应更改当前页面,则必须使用AJAX响应和一些javascript。
<script type="text/javascript">
var result = 1;
location.href="page.php?Result=" + result;
</script>
var param = 'bleh';
var site = 'http://what.com/';

$.ajax({
  url: site+'?param=' + param,
  success: function(data) {
    alert('Data was inserted');
  }
});