如何在不加载页面的情况下将jquery值传递给php
我想在不重新加载页面的情况下将jquery值“selected”传递给fetchdata.php。 我该怎么做 这是我的密码:如何在不加载页面的情况下将jquery值传递给php,php,jquery,Php,Jquery,我想在不重新加载页面的情况下将jquery值“selected”传递给fetchdata.php。 我该怎么做 这是我的密码: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></scrip
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"
type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.min.js" type="text/javascript">
</script>
<script>
$(document).ready(function() {
$("#buttonClass").click(function() {
getValueUsingClass();
});
});
function getValueUsingClass() {
var chkArray = [];
$(".chk:checked").each(function() {
chkArray.push($(this).val());
});
/* we join the array separated by the comma */
var selected;
selected = chkArray.join('#') + "#";
if (selected.length > 1)
{
$.ajax({
url: "fetchdata.php", //This is the page where you will handle your SQL insert
type: "GET",
data: "val=" + selected, //The data your sending to some-page.php
success: function()
{
console.log("AJAX request was successfull");
},
error: function()
{
console.log("AJAX request was a failure");
}
});
//alert("You have selected " + selected);
} else
{
alert("Please at least one of the checkbox");
}
}
</script>
</head>
<body>
<div id="checkboxlist">
<div><input type="checkbox" value="1" class="chk"> Value 1</div>
<div><input type="checkbox" value="2" class="chk"> Value 2</div>
<div><input type="checkbox" value="3" class="chk"> Value 3</div>
<div><input type="checkbox" value="4" class="chk"> Value 4</div>
<div><input type="checkbox" value="5" class="chk"> Value 5</div>
<div>
<input type="button" value="Get Value Using Class" id="buttonClass">
</div>
</html>
$(文档).ready(函数(){
$(“#按钮类”)。单击(函数(){
getValueUsingClass();
});
});
函数getValueUsingClass(){
var chkArray=[];
$(“.chk:checked”)。每个(函数(){
chkArray.push($(this.val());
});
/*我们加入由逗号分隔的数组*/
选择var;
selected=chkArray.join(“#”)+“#”;
如果(选定。长度>1)
{
$.ajax({
url:“fetchdata.php”,//这是处理SQL插入的页面
键入:“获取”,
数据:“val=“+selected,//您发送到some-page.php的数据
成功:函数()
{
log(“AJAX请求成功”);
},
错误:函数()
{
log(“AJAX请求失败”);
}
});
//警报(“您已选择”+已选择);
}否则
{
警告(“请至少选中一个复选框”);
}
}
值1
价值2
价值3
价值4
价值5
fetchdata.php
<?php
foreach($_GET['val'] as $r)
{
print_r($r);
}
?>
<?php
$valArray = explode('@',$_GET['val']);
foreach($valArray as $val){
echo $val."<br/>";
}
?>
我正在使用GET方法接收数据,并使用for each循环打印数组,但我没有在PHP文件中获取任何值。如下更改ajax函数,确保fectdata.PHP位于同一文件夹中或提供正确的路径
$.ajax({
url: 'fetchdata.php',
type:'GET',
data: {val:selected},
success: function(data) {
console.log("AJAX request was successfull");
}
});
更改ajax函数,如下所示,并确保fectdata.php位于同一文件夹中或提供正确的路径
$.ajax({
url: 'fetchdata.php',
type:'GET',
data: {val:selected},
success: function(data) {
console.log("AJAX request was successfull");
}
});
检查脚本的路径是否正确:
url: 'fetchdata.php',
此脚本是否在您的文档根目录中?检查脚本路径是否正确:
url: 'fetchdata.php',
此脚本是否在文档根目录中?在代码中更改以下内容, 在fetchdata.php中
<?php
foreach($_GET['val'] as $r)
{
print_r($r);
}
?>
<?php
$valArray = explode('@',$_GET['val']);
foreach($valArray as $val){
echo $val."<br/>";
}
?>
在按钮后面包括div,如
<div id="resultDiv"></div>
更改代码中的以下内容:, 在fetchdata.php中
<?php
foreach($_GET['val'] as $r)
{
print_r($r);
}
?>
<?php
$valArray = explode('@',$_GET['val']);
foreach($valArray as $val){
echo $val."<br/>";
}
?>
在按钮后面包括div,如
<div id="resultDiv"></div>
使用打印($\u GET)
查看$\u GET中的内容request@user2376463,作为提示,最好确保代码的格式正确。这样可以更容易地发现错误和小问题!这可能有点夸大其词,但我建议您使用NetBeans之类的工具进行PHP开发工作,然后大量使用其代码格式化工具。确保所选内容具有valueUseprint\r($\u GET)
以查看$\u GET中的内容request@user2376463,就像一个头像,最好确保代码的格式正确。这样可以更容易地发现错误和小问题!这可能有点夸大其词,但我建议您使用NetBeans之类的工具进行PHP开发工作,然后大量使用其代码格式化工具。确保selected的值为+1,但他可能应该直接使用chkArray而不是selected,他不应该吗?仍然没有改进(顺便说一句,以下内容总是正确的:(selected.length>1)
检查您是否至少选择了一个应该执行的if(chkArray.length>0)
而不是字符串selected
,该字符串始终至少有一个字符(#)更新:抱歉,您选择了>1,所以它应该可以执行数据:{val:chkArray},
并查看firebug console+1中发生的情况,但他可能应该直接使用chkArray而不是selected,不是吗?仍然没有任何改进…(顺便说一下,以下内容始终正确:(selected.length>1)
检查您是否至少选择了一个您应该执行的操作如果(chkArray.length>0)
而不是选择的字符串总是至少有一个字符(#)更新:抱歉,您这样做了>1,所以它应该可以工作,我将执行数据:{val:chkArray},
并查看firebug ConsoleEyes中发生的情况,在firebug console中检查该文件是否正确调用。您的代码似乎没有任何问题,我在这里得到ajax响应。@Linkmichiel请用示例告诉我更多信息使用相对于根目录的路径。例如:如果脚本位于目录中“buttons”,然后您还必须将fetchdata.php指向该目录,url:“buttons/fetchdata.php”您还可以使用绝对路径,url:“http://domain.com/buttons/fetchdata.php”是的,在firebug控制台中检查该文件是否名为properly。您的代码似乎没有任何错误,我在这里得到ajax响应。@Linkmichiel请用示例告诉我更多信息使用相对于根目录的路径。例如:如果脚本位于“buttons”目录中,则您还必须将fetchdata.php定向到该目录,url:“buttons/fetchdata.php”您还可以使用绝对路径,url:“http://domain.com/buttons/fetchdata.php”Hi@srividhya没有更改..:(但是firebug控制台说“Ajax请求成功”在按钮后添加一个div标记。数据将在divHi@srividhya中打印,没有变化。)(但是firebug控制台说“Ajax请求成功”在按钮后添加一个div标记。数据将在div中打印。)