4

我正在尝试使用 ajax 向 php 文件发送一些值,但在调用 ajax 时出现以下错误

Uncaught ReferenceError: $ is not defined 

在 ajax 请求的开头行如下:

$.ajax({
  type: "POST",
  url: 'program3.php',
  data: {
    player1name: player1name.value,
    player2name: player2name.value,
    playtopoints: playtopoints.value,
    delay: delay.value,
    numgames: numgames.value,
    gamesplayed: gamesplayed.value,
    p1turn: p1turn.value,
    p2turn: p2turn.value,
    p1total: p1total.value,
    p2total: p2total.value
  },
  success: function (data) {
    rolling = data;
  }
});            

我首先认为它可能需要对 ajax 的引用,所以我在 html 页面上的 javascript 之前添加了以下行:

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

但我仍然收到错误,任何人都可以提供任何见解吗?

我也将数据变量全部定义如下:

var player1name = document.JForm.p1name.innerHTML;

这是分配它们的正确方法吗?

4

2 回答 2

7

你的src脚本标签上的 是无效的——至少如果你没有从 http 或 https 运行它。代替

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

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
于 2013-10-24T22:57:19.520 回答
3

您可能正在本地访问该文件,这不适用于协议相关的脚本标签。

<!-- access from http resolves to this -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<!-- local access resolves to this -->
<script src="file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

该文件不会在本地存在,并且脚本永远不会被加载。因此,该变量$将是未定义的。

于 2013-10-24T23:04:58.547 回答