变量可以使用jQuery转到隐藏的PHP页面吗?
我的PHP页面变量可以使用jQuery转到隐藏的PHP页面吗?,php,jquery,variables,Php,Jquery,Variables,我的PHP页面 <ul id="upvote-the-image"> <li><a href="javascript:return false;" rel="50" id="upvote">Upvote</a><img src="image.png" /></li> </ul> 代码中的警报用于测试 我有多个使用rel标签的图像。我希望每个人都能够被升级,并显示他们在页面上被升级,而无需加载新页面 我的问题,
<ul id="upvote-the-image">
<li><a href="javascript:return false;" rel="50" id="upvote">Upvote</a><img src="image.png" /></li>
</ul>
代码中的警报用于测试
我有多个使用rel标签的图像。我希望每个人都能够被升级,并显示他们在页面上被升级,而无需加载新页面
我的问题,我的下一步是什么?我只想知道如何将值发送到upvote.php。我知道如何使用mysql添加upvote,但不知道如何向upvote.php发送值,甚至不知道我的javascript代码是否正确打开了页面
谢谢我想你需要这样的东西:
<ul id="upvote-the-image">
<li><span rel="50" id="upvote">Upvote</span><img src="image.png" /></li>
</ul>
<span id="result"></span>
$("#upvote").click(function(index) {
var upthis = $(this).attr("rel");
var oOptions = {
url: upvote.php, //the receiving data page
data: upthis, //the data to the server
complete: function() { $('#result').text('Thanks!') } //the result on the page
};
$.ajax(oOptions);
}
您不需要锚定,我将其更改了一段时间,您可以在浏览器中使用F12测试asyc连接您的javascript从不打开php页面,它只向其发送数据,并接收带有响应的http头。您的php脚本应该关注$\u POST['plusone'],并相应地处理数据库处理。下一步是在$.post函数中编写回调函数,我建议在学习时将其更改为完整的ajax函数,因为这样更容易理解和查看所发生的一切
$.ajax({
type: 'POST',
url: "upvote.php",
data: {'plusone': plusone},
success: function(IDofSelectedImg){
//function to increment the rel value in the image that was clicked
$(IDofSelectedImg).attr("rel")= upthis +1;
},
});
为了选择每个img元素并将其id发送到php脚本,您需要为每个img元素提供一些唯一的标识符。为upvote添加一个类而不是id,并使id成为唯一可识别的数字,当需要增加rel值时,可以使用jquery将其作为目标。从外观上看,似乎您正在将rel属性中的值放在数据库中,以代替旧值。对于JQuery来说,这是一个很好的编程技巧,不要:
<a href="javascript:return false;"
这是处理DOM文档上链接的更好方法
以下是一些文档页面,供您阅读我使用的编码:
这些将向您解释我的代码
希望能有所帮助,您已经向upvote.php发送了一个键/值对,所以这部分问题很难理解。您必须将重复ID更改为类,不能在页面中重复ID需要将密钥/值对发送到服务器…不仅仅是值您没有解释plusone来自何处,这是问题的另一半…请参阅他的原始帖子。。。别再跟踪我了。
<a href="javascript:return false;"
$(function(){
$('#upvote').on('click', function(event){
event.preventDefault();
$.post('upvote.php', {'plusone': $(this).attr('rel')}, function(data){
alert('done and upvoted');
});
});
});