【问题标题】:Issues in posting JS variable to PHP script将 JS 变量发布到 PHP 脚本的问题
【发布时间】:2014-01-24 10:40:17
【问题描述】:

我正在尝试将 JS 变量发布到 PHP 脚本,但我无法做到。这是脚本,

下面的JS嵌入在名为“check.php”的脚本中,

<script type="text/javascript">
$(document).ready(function() {
$('#content-area').mouseup(function() {
 var selection = getSelected();
  if(selection && (selection = new String(selection).replace(/^\s+|\s+$/g,''))) {
     alert('Sending the following text to the server via AJAX: ' + selection);
            $.ajax({
             type: 'post',
             url : 'calculate.php',
             data: 'selection=' + encodeURI(selection)  
            });
     }
   });
   });  
</script>  

我正在使用 ajax 发布“选择”变量 我接收值的 PHP 脚本(calculate.php)如下。

<?php
    if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) &&
      strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' &&  
      $selection = trim($_POST['selection'])) {
        $selText = $selection;
       }
?>

我在服务器端得到一个空值,即“calculate.php”。请告诉我这里出了什么问题?

【问题讨论】:

    标签: javascript php ajax jquery post


    【解决方案1】:

    试试这个。

    在ajax调用中

    $.ajax({
                type: 'post',
                url : 'calculate.php',
                data: { selection : selection},
              });
    

    在calculate.php 中使用$_POST['selection'];获取您的数据

    【讨论】:

    • 我在 calculate.php 中使用 if(isset($_POST['selection']) 检查了它,服务器端没有收到数据。但它显示了选择文本时的警报消息.请帮助
    • 为什么要发布与其他已发布答案具有相同内容/建议的答案?如果它不适用于那个答案,为什么它应该适合你的答案?
    【解决方案2】:

    data属性更改为:

    data: { selection: encodeURI(selection) }
    

    然后它将在您的 PHP 脚本中作为:

    $_POST['selection']
    

    进一步,查看 PHP 脚本中的 if 条件:

    $selection = trim($_POST['selection'])
    

    如果您想比较这些值,我认为您应该使用==。如果没有,只需将其移出条件即可。

    【讨论】:

    • 仍然没有成功。仍然获得空值。您还有其他解决方法吗?
    • 即使更新的东西也不起作用。我还在calculate.php中使用if(isset($_POST ['selection'])检查了它,并且服务器端没有收到数据。但它显示了选择文本时的警报消息。我很沮丧,Pl帮助
    • @mario23 很难帮助您解决信息不足的问题。在 PHP 脚本的开头发布print_r($_POST); 的结果以及来自developers tools(Chrome) 的请求 - 它可以是屏幕截图,甚至可以是请求标题文本...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多