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