【问题标题】:not able to pass value using ajax in php file无法在 php 文件中使用 ajax 传递值
【发布时间】:2015-10-21 13:01:21
【问题描述】:

我无法在 php 文件中使用 ajax 传递值。

更正的代码

<script>
    $("body").on('change', '#area', function () { 
        //get the selected value 
        var selectedValue = $(this).val(); 
        //make the ajax call 
        $.ajax({
            url: 'box.php',
            type: 'POST',
            data: {option: selectedValue},
            success: function () {
                console.log("Data sent!");
            }
        });
    });
</script>

这里是php代码

<?php    $val=$_POST['option'];echo $val;    ?>

【问题讨论】:

  • 请花时间正确格式化您的代码。
  • 另请注意$.ajax 中的属性应为url: 而不是rl:,并且您在POST' 之前缺少引号。当您在 Javascript 中遇到问题时,请始终先检查控制台。
  • 属性type有错别字,缺少一个'
  • type: POST, 应该是type: 'post',
  • @chiragchavda.ks 不,this.value 很好。 this 是一个 DOMElement,它具有 value 属性。

标签: javascript php jquery html


【解决方案1】:

这里有几个问题:

应该是url,而不是rl。另外,您有type: POST',它以' 结尾,但没有以' 开头。

应该是type: 'POST'

它应该看起来像这样:

$("body").on('change', '#area', function() {      
  var selectedValue = this.value;     
  $.ajax({  
    url: 'box.php', 
    type: 'POST',
    data: {
        option : selectedValue
    },     
    success: function() {          
        console.log("Data sent!");    
    }  
  });
});

如果您想在同一页面上查看您的数据(如在box.php 上,您正在echo'ing 值。),您可以这样做:

success: function(data) {
  console.log(data);
}

这将在控制台中写入option 是什么,即#area 的值。

【讨论】:

  • 只是一个评论,而不是成功,您可以使用完整的,因为您可以有兴趣检查数据值,尽管查询是否正常
【解决方案2】:

试试下面的代码

$("body").on('change',function(){
  $.ajax({
    URL:<you absolute url>,
    TYPE:POST,
    Data:"variable="+$("#area").val(),
    Success:function(msg){
      <do something>
    }
  });
});

希望这能帮助您解决问题。

【讨论】:

  • 使用小写的 url、类型、数据和成功我想我可能使用了错误的大小写。并在您的 php 中使用 $_POST['variable']$_REQUEST['variable']
  • 我收到此通知:未定义的索引:第 3 行 C:\xampp\htdocs\E\box.php 中的变量
  • varialble 是你的变量的同义词,你必须把你的变量名放在其中,你的数据将被发送
  • 并尝试使用print_r($_POST) 打印 POST 对象以查看 ajax 在该文件中发布的内容
  • 您是通过 ajax 发送表单数据还是通过 id 区域的 html 元素中的某个值发送表单数据
【解决方案3】:

你只是错过了'url'的ajax方法参数拼写和类型值之前的单引号,即'POST'。应该是这样的

$.ajax({  
    url: 'box.php', 
    type: 'POST',
    data: {option : selectedValue},     
    success: function() { console.log("Data sent!");}  
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多