这是我的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 [&#39; section&#39;]的值为空。我的代码有什么问题。我尝试使用Google搜索所有内容并尝试了一些代码,但它仍然无法正常工作。请帮帮我
答案 0 :(得分:2)
请改为尝试:
$.ajax({
type: "POST",
url: 'ajax.php',
data: { 'section': temp},
success: function(data)
{
alert(data);
}
});
您的服务器很可能无法理解您构建的字符串("section="+temp
)。使用ajax
时,我更愿意发送objects
,因为object
有效,需要使用某种格式。
<强> EDIT1:强>
试试这个并告诉我它是否也无效:
$.post('ajax.php', {'section': temp}, function(data}{
alert(data);
});
答案 1 :(得分:0)
添加jquery插件(jQuery库),然后只有ajax调用工作 例如
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
检查您的输入数据,是否包含&#39;&amp;,/&#39; charators,然后使用encodeURIComponent()
用于Ajax Call Eg:
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;
?>
答案 2 :(得分:0)
尝试以下内容(虽然我无法理解为什么@ Grimbode的答案不起作用):
$("#submit-reg").on( "click", function() {
$.ajax({
type: "POST",
url: 'ajax.php',
data: {'section': 'anniversary'},
success: function(data)
{
alert(data);
}
});
});
注意:我不知道您的底层代码在做什么。但是,我建议不要使用HTML元素属性来处理事件有多种原因,但要适当地分开JS /事件处理(单独的js文件(推荐)或内部<script>
标签)。 Read more...