【问题标题】:Jquery Ajax Post refuses to workJquery Ajax Post 拒绝工作
【发布时间】:2013-08-02 01:45:41
【问题描述】:

在尝试使用 JQuery Ajax 发布功能时,我已经用尽了所有我能想到的选项。我只需要将数据发布到 PHP 处理程序并传递 2 个变量。当我注释掉邮政编码(调用警报)时,我确认该函数被正常调用,但是一旦我取消注释该行,什么都没有发生。我使用的是 Firefox,但也尝试过使用 Chrome。

<script type="text/javarscript">
    function removeDatacenter( datacenter_id ) {    
        alert( datacenter_id );
        $.ajax({ 
           type: "POST", 
           url: "handler.php", 
           data: { action-type: 'remove_datacenter', id: '2' }
        });
    };
</script>

【问题讨论】:

  • 在“url”参数中指定完整路径
  • @Th0rndike 你从哪里得到它只接受绝对路径的想法?
  • 我在指定相对路径时遇到了麻烦。无论如何,您的处理程序是什么样的?
  • 好吧,它确实接受相对路径。也许您遇到了一些错误,但确实如此。请务必阅读the documentation。
  • 抱歉误编辑了您的帖子

标签: javascript jquery ajax post


【解决方案1】:

由于 '-' 字符,您必须将动作类型的键对象包含在引号内:

您可以将其重命名为,例如 actionType

$.ajax({ 
 type: "POST", 
 url: "handler.php", 
 data: { 'action-type': 'remove_datacenter', id: datacenter_id } 
})

【讨论】:

  • 为什么只有 action-type 而不是 "id"?当然只是出于好奇,现在就尝试一下。
  • @BrettPowell 无需包装id。使用特殊字符作为'-'时,您必须包装密钥名称
  • action-type(不带引号)将尝试评估表达式 action 减去类型。但这会失败。不过,您的 Javascript 控制台中应该有一个例外。
  • $.ajax().done(function(data){/*use data here*/}); 当然,您必须从您的 php 脚本中返回一些内容,然后您才能使用“数据”。在这里,您的 ajax 方法将等待数据类型 text/html(默认),如果您想获取其他格式的数据,可以使用 ajax 选项 dataType 指定它或使用更具体的 ajax 方法如 $.getJSON() 例如
  • 谢谢,有点困惑。我有 .done(function(result)) 并且警报框显示,但所有路径都在处理程序中返回一个值(只是像“YES”,“NO”这样的虚拟内容),但警报框在打印结果时显示一个空值。
【解决方案2】:
$.ajax({ 
    type: "POST", 
    url: "handler.php", 
    data: { 
        'action-type': 'remove_datacenter', 
        id: 2
    } 
});

【讨论】:

  • 你的答案和烤的有什么区别?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多