Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
变量可以使用jQuery转到隐藏的PHP页面吗?_Php_Jquery_Variables - Fatal编程技术网

变量可以使用jQuery转到隐藏的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标签的图像。我希望每个人都能够被升级,并显示他们在页面上被升级,而无需加载新页面 我的问题,

我的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标签的图像。我希望每个人都能够被升级,并显示他们在页面上被升级,而无需加载新页面

我的问题,我的下一步是什么?我只想知道如何将值发送到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');
        });
    });
});