在同一页面上使用ajax将js变量传递给php

pass js variable to php using ajax on the same page

本文关键字:变量 js php ajax 一页      更新时间:2023-09-26

这是我的html代码:

<form id="form" action="javascript:void(0)">
<input type="submit" id="submit-reg" value="Register" class="submit button" onclick="showtemplate('anniversary')" style='font-family: georgia;font-size: 23px;font-weight: normal;color:white;margin-top:-3px;text-decoration: none;background-color: rgba(0, 0, 0, 0.53);'>    
</form>

这是我的javascript代码:

function showtemplate(temp)
{
    $.ajax({
        type: "POST",
        url: 'ajax.php',
        data: "section="+temp ,
        success: function(data)
        {
            alert(data);
        }
    });  
}  

这是我的ajax.php文件:

<?php
$ajax=$_POST['section'];
echo $ajax;
?>

上面的html和javascript代码包含在一个名为slider.php的文件中。在我的索引文件中,我包含了这个slider.php文件,slider.php在slider文件夹中。因此,基本上index.php和slider.php不在同一个文件夹中。

Javascript代码正确地提醒数据。但在我的php代码(ajax.php文件(中,$_POST["section"]的值是空的。我的代码有什么问题。我试着在谷歌上搜索所有内容,并尝试了一些代码,但仍然不起作用。请帮我解决

试试这个:

$.ajax({
        type: "POST",
        url: 'ajax.php',
        data: { 'section': temp},
        success: function(data)
        {
            alert(data);
        }
    }); 

很可能您的服务器不理解您构建的字符串("section="+temp(。当使用ajax时,我更喜欢发送objects,因为要使object有效,它需要特定的格式。

第1版:

试试这个,如果它也不起作用,请告诉我:

$.post('ajax.php', {'section': temp}, function(data}{
  alert(data);
});

添加jquery插件(jquery库(,则只有ajax调用有效例如

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

检查您的输入数据,无论它是否包含'&,/'字符,然后使用encodeURIComponent((

用于Ajax调用例如:

var gym_name =  encodeURIComponent($("#gym_name").val());
$.ajax({
type: "POST",
url: "abc.php",
data:string_array,
success: function(msg) {
console.log(msg);
 }
});

在abc.php 中

<?php
$id = $_POST['gym_name'];
echo "The id is ".id;
?>

尝试以下内容(尽管我不知道为什么@Grimbode的答案不起作用(:

$("#submit-reg").on( "click", function() {
  $.ajax({
        type: "POST",
        url: 'ajax.php',
        data: {'section': 'anniversary'},
        success: function(data)
        {
            alert(data);
        }
    });
});

注意:我不知道您的底层代码在做什么。然而,出于多种原因,我建议不要使用HTML元素属性来处理事件,而是适当地分离JS/事件处理(单独的JS文件(推荐(或<script>标记内(。阅读更多。。。