【问题标题】:jquery.post doesn't workjquery.post 不起作用
【发布时间】:2013-02-05 13:34:37
【问题描述】:

HTML 元素:

<img align="center" onclick="doc()" src="images/doc.png">

JavaScript 函数:

function doc (){
    $.post("php/file.php", { name: "John", time: "2pm" },).done( function(data) {
        alert("Data Loaded: " + data);
    });
}

文件.php:

$pi=$_POST['name'];
echo ($pi);

我不知道为什么,但是当我点击图片时$.post不发送数据它什么也没做

【问题讨论】:

  • $.post("php/file.php", { name: "John", time: "2pm" },)
  • 你写的时候有预览,下次发帖前请注意,避免所有这些修改。
  • @crush 确实,该函数将获得一个 NULL 参数,并且不期望它。所以它可能会崩溃,并且由于 JavaScript 的安静性,除非你检查调试工具,否则它不会看到它。鼓励使用“use strict”;在所有包含 JavaScript 的项目上,用于调试目的。
  • 它到达服务器了吗?您是否使用浏览器的调试器查看 XMLHttpRequest 中发送的内容?
  • 也许doc() 是在本地范围内声明的。请发布更多代码。

标签: php jquery .post


【解决方案1】:

您提到的在您的一个 cmets 中使用的 Jquery 库是:

<script src="code.jquery.com/jquery-1.8.3.min.js"></script>

这不是一个正确的来源。请使用以下来源:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

【讨论】:

  • 这不是链接工作正常的问题。事实上,尝试在 web 中运行代码,在 php 文件中添加允许跨域的字符串后,我没有问题并且出现警报。但是尝试在模拟器上做同样的事情警报不会出现。
【解决方案2】:

同时使用内联 JavaScript 和 jQuery 不是一个好习惯;使用jQuery绑定点击事件。

首先为图像添加标识符:

<img id="imgDoc" align="center" src="images/doc.png">

然后在代码中:

$(document).ready(function() {
    $("#imgDoc").bind("click", function() {
        $.post("php/file.php", { name: "John", time: "2pm" }).done( function(data) {
            alert("Data Loaded: " + data);
        });
    }
});

【讨论】:

  • 我不明白这将如何解决他的问题。虽然这样做可能是更好的做法,但按照他在上面的脚本中显示的方式这样做肯定没有错误。
  • @crush doc() 函数可能被声明为其他函数的一部分,因此不是全局的。 OP 没有发布完整的代码,所以我们不知道。
  • 我创建了一个新文件 post.js,我在其中编写了您在上面编写的代码,但它不起作用
  • @user2090823 只是将它放在一个文件中不会有任何作用。您还必须包含 jQuery 并将“post.js”文件包含在您的主文件中。在掌握基础知识之前,最好将所有 JS 代码放在主文件中。
  • 我已经做了
【解决方案3】:
 function doc (){
  $.post("php/file.php", { name: "John", time: "2pm" })
   .done( function(data) {
    alert("Data Loaded: " + data);
    }); 
  }

【讨论】:

  • 您似乎更正了多余的逗号,但您应该更清楚地解释您的答案,尤其是对于如此微小的更改。
  • 尝试使用 Firebug 或 Webkit dev-toolbar (Chrome/Safari) 查看解释器是否给出了 JavaScript 错误。您还可以在那里查看 XHR 调用是否完成以及其中的流量是多少。
  • 该代码在 firefox 上不起作用,因为我使用 phonegap 并且我使用波纹运行应用程序
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多