0

我快疯了,我不知道为什么,但我非常简单的 Jquery 帖子无法正常工作。我有 index.php 和 temp.php 如下。我仍然收到“未返回 OK”,不知道为什么,因为如果我在 if 条件之前发出警报,数据会返回“ok”。

索引.php:

<? session_start(); ?>
<!DOCTYPE HTML>
<meta charset="windows-1250">

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-   ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js">              </script>
 <link rel="stylesheet" type="text/css" href="style.css" />

 <script>

function do_post(item)
{     
  $.post("temp.php", {par:item}, function(data,status){
  //alert("Data: " + data + "\nStatus: " + status);
  if(data=="ok")
  {
   alert('RETURNED OK');
   //location.reload();
  }
  else
  {
   alert('NOT RETURNED OK');
  }
 });
}

</script>

<body>
<a href="#" onclick="do_post('whatever');">click</a>
</body>
</html>

temp.php:
<? echo "ok"; ?>

提前感谢您的任何想法。

4

2 回答 2

0

我建议在您的响应中使用带有正确响应标头内容类型的 JSON,或者明确告诉 jQuery .post 您期望返回的内容:

$.post("temp.php", {par:item}, function(){}, 'text');

如果您只是在 php 脚本中回显,则您没有在标头中指定内容类型,jQuery 可能无法正确解析该内容类型,因为它必须猜测它正在使用的内容。还要寻找换行符。

于 2013-06-26T18:18:47.970 回答
0

我已经在我的本地主机上运行了代码,它工作正常。但是,我的服务器没有解释 php 开始标签,我不得不向它们添加单词 php

于 2013-06-26T18:21:40.473 回答