Php 通过post使用ajax发送信息时出现问题

Php 通过post使用ajax发送信息时出现问题,php,javascript,ajax,post,Php,Javascript,Ajax,Post,我做了一个审核脚本,对问题和答案进行上下投票。很久以前,这个脚本还可以工作,但当我再次回到这个项目开始编码时,它就不再工作了 脚本的作用是:当你点击一个名为vote的div,或vote1链接时,它会询问是向上还是向下。如果它启动了,它会加载url:“mod_up_vote.php”,通过post发送一些关于您正在投票的问题的信息。还好。但现在不行。它不会加载那个页面,因为我正在打印并在数据库中插入$\u POST变量,但没有任何内容 你认为这里出了什么问题?谢谢 $(document).r

我做了一个审核脚本,对问题和答案进行上下投票。很久以前,这个脚本还可以工作,但当我再次回到这个项目开始编码时,它就不再工作了

脚本的作用是:当你点击一个名为vote的div,或vote1链接时,它会询问是向上还是向下。如果它启动了,它会加载url:“mod_up_vote.php”,通过post发送一些关于您正在投票的问题的信息。还好。但现在不行。它不会加载那个页面,因为我正在打印并在数据库中插入$\u POST变量,但没有任何内容

你认为这里出了什么问题?谢谢

   $(document).ready(function()
   {

   $(document).delegate('.vote, .vote1', '.vote2', 'click', function()
       {

   var id = $(this).attr("id");
   var name = $(this).attr("name");
   var dataString = 'id='+ id ;
   var parent = $(this);

   if(name=='mod_up')
   {

   $(this).fadeIn(200).html('<img src="dot.gif" align="absmiddle">');
   $.ajax({
      type: "POST",
      url: "mod_up_vote.php",
      dataType: "xml",
      data: dataString,
      cache: false,

      success: function(xml)
      {
   //$("#mod-pregunta").html(html);
   //$("#mod-respuesta").html(html);

   //parent.html(html);
    $(xml).find('pregunta').each(function(){
    var id = $(this).attr('id');
    var pregunta = $(this).find('preguntadato').text();
    var respuesta = $(this).find('respuestadato').text();
    var votoup = $(this).find('votoup').text();
    var votodown = $(this).find('votodown').text();
    var id_pregunta = $(this).find('id_pregunta').text();
    var id_respuesta = $(this).find('id_respuesta').text();
    $("#mod-pregunta").html(pregunta);
    $("#mod-respuesta").html(respuesta);
    //$(".vote").attr('id', $(this).find('id_pregunta').text());
    $(".vote1").html("<a href=\"modera\" title=\""+ id_pregunta + "-"+ id_respuesta + "-1\" class=\"vote1\" id=\""+ id_pregunta + "-"+ id_respuesta + "-1\" name=\"mod_up\">Aceptar</a>");
    $(".vote2").html("<a href=\"modera\" title=\""+ id_pregunta + "-"+ id_respuesta + "-2\" class=\"vote2\" id=\""+ id_pregunta + "-"+ id_respuesta + "-2\" name=\"mod_up\">Rechazar</a>");

    //$("span", this).html("(ID = '<b>" + this.id + "</b>')");
     });
     }  });

   }
 return false;
});
$(文档).ready(函数()
{
$(文档).delegate('.vote、.vote1','.vote2',click',function()
{
var id=$(this.attr(“id”);
var name=$(this.attr(“name”);
var dataString='id='+id;
var parent=$(这是);
如果(名称=='mod_up')
{
$(this.fadeIn(200.html)(“”);
$.ajax({
类型:“POST”,
url:“mod_up_vote.php”,
数据类型:“xml”,
数据:dataString,
cache:false,
成功:函数(xml)
{
//$(“#mod pregunta”).html(html);
//$(“#mod respuesta”).html(html);
//html(html);
$(xml).find('pregunta').each(function(){
var id=$(this.attr('id');
var pregunta=$(this.find('preguntadato').text();
var respuesta=$(this.find('respuestadato').text();
var votoup=$(this.find('votoup').text();
var votodown=$(this.find('votodown').text();
var id_pregunta=$(this).find('id_pregunta').text();
var id_respuesta=$(this).find('id_respuesta').text();
$(“#mod pregunta”).html(pregunta);
$(“#mod respuesta”).html(respuesta);
//$(“.vote”).attr('id',$(this.find('id_pregunta').text());
$(“.vote1”).html(“”);
$(“.vote2”).html(“”);
//$(“span”,this.html(“(ID=”+this.ID+“)”);
});
}  });
}
返回false;
});

您的JQuery似乎有问题。为什么要使用而不是?此外,您的委托参数似乎不正确。如果查看文档,您将看到函数签名是:

$(elements).delegate(selector, events, data, handler);  // jQuery 1.4.3+
您正在将函数绑定到一个名为
'.vote2'
的事件,我只能假设它不存在

试着改用,据我所知,没有理由使用委托

编辑:

尝试使用
单击
,如下所示:

$('.vote, .vote1').click(function(){ /* your code here */ });

你确定它没有加载页面吗?你检查过PHP页面中没有错误吗?在url:“mod_up_vote.PHP”中,我正在向数据库中插入一个测试值,它不会保存任何内容。但是你确定它插入的正确吗?听起来“mod_up_vote.PHP”可能有问题这是我调用函数的链接:我改为HRef= MODYUPUVo..PHP,它用ARRAY()显示空白页并将测试值插入数据库。空数组为$\u post您应该在我正在使用的
mod\u up\u vote.php
中发布代码,但我会看到。因为我只需要在href中使用vote2、vote1类的函数…我应该怎么做?(使用单击)谢谢。+1 btw.aW!谢谢!btw,我删除了vote2。所以它是选择器,点击后。它现在工作了,它在db中插入了测试值!警报也工作了!还有调节!!哈哈,谢谢。我会看看使用click是否也工作,谢谢。太好了,我很高兴我能帮助你!