[英]How to get id and type in php foreach loop and send to server via ajax?
所以我有2个文件index.php和changeLikeDislike.php。 我认为问题出在javascript尝试获取类型和ID,但我不知道该怎么做。 我的javascript函数在foreach-> li-> divs中被调用。 它之前是这样的: data: dataString,
但是我也将schoolId添加到了ajax的数据中,所以现在就像这样data: {dataString:dataString, schoolId:schoolId},
index.php
<?php
$last_id = 0;
foreach ($list as $rs) {
$last_id = $rs['id']; // keep the last id for the paging
?>
<li>
<div style="width:100%; color:#000;">
<?php echo '<div class="product_like thumb-div"><img src="like.png" class="rating-image " onclick=changeLikeDislike("like","'.$rs['id'].'")> <br><span id="product_like_'.$rs['id'].'">'.$rs['pLike'].'</span></div>';?>
<?php echo '<div class="product_dislike"><img src="dislike.png" class="rating-image" onclick=changeLikeDislike("dislike","'.$rs['id'].'")><br> <span id="product_dislike_'.$rs['id'].'">'.$rs['pDislike'].'</span></div>';?>
</div>
</li>
<?php
}
?>
<script type="text/javascript">
//begin like and dislike
function changeLikeDislike(type,id){
var dataString = 'id='+ id + '&type=' + type;
$.ajax({
type: "POST",
url: "changeLikeDislike.php",
data: {dataString:dataString, schoolId:schoolId},
cache: false,
success: function(result){
if(result){
console.log('working');
}
}
});//end ajax
}
schoolId适用于数据,但不适用于ajax中的dataString。我将如何获取这些。 我的PHP文件供参考:
//checks if school page id was brought and stores into variable
if (isset($_POST['schoolId'])) {
$schoolIdFinal = $_POST['schoolId'];
}else {
echo "nope";
}
if (isset($_POST['type'])) {
$type = $_POST['type'];
}else {
echo "nope type";
}
if (isset($_POST['id'])) {
$id = $_POST['id'];
}else {
echo "nope id";
}
我的页面回显了“ nope type nope id”
请更换
data: {dataString:dataString, schoolId:schoolId},
至
data: {type:type, id:id, schoolId:schoolId},
使参数与您的PHP脚本匹配。
data
可以是查询字符串(如dataString
)或json结构(如{type:type, id:id, schoolId:schoolId}
)。
请参阅jQuery.ajax()
的文档:“数据选项可以包含格式为key1 = value1&key2 = value2的查询字符串,也可以包含格式为{key1:'value1',key2:'value2'}的对象。
问题出在数据支架中。 更改
data: {dataString:dataString, schoolId:schoolId}
至
data: {dataString:'dataString', schoolId:'schoolId'}
下次执行$ _REQUEST或$ _POST的print_r来查看要识别的字段,在这种情况下,看起来好像没有检测到任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.