Ajax错误和Uncaught SyntaxError:意外的令牌错误

时间:2014-03-08 14:16:56

标签: javascript php jquery ajax uncaught-exception

我知道这个错误有一千个主题,但似乎没有一个与我的问题相符。通常的答案似乎是无效的json或ajax调用中的数据类型的问题。 我发回的所有json都来自php的json_encode。

我的问题似乎有些怪异:

我正在创建一个应用程序,这在运行中的服务器上运行得非常好(Windows Server 2008,IIS 7,PHP 5.3),甚至在使用WAMP的工作PC上本地运行,并且在我的家庭服务器上运行,这是Windows 7 IIS 7和PHP 5.4。

然而,最近在将我的应用程序从工作复制到家庭时(通过Dropbox - 没有任何代码发生任何变化),突然jQuery所做的每个ajax调用都无法正常工作......但它也有效;

  • 使用console.log(数据)我可以看到返回的是什么 到底应该是什么。
  • 但任何if语句等都无法识别值

例如,如果登录,我的登录脚本echos会从php(由JS解释为'1')回来,并且我可以看到这个1被发送回console.log - 但是JS当时我不认识到这一点使用(data == 1)或data =='1',我很困惑JS如何识别console.log中的数据,但不能识别下一行的if语句。

对于应用程序的任何页面上的绝对任何ajax调用,我都会遇到同样的问题,无论是使用JSON.parse,$ .parseJSON还是仅使用标准post来解密返回值。我也尝试使用dataType json进行这些调用但没有成功。 当我尝试使用json数据类型时,我得到'Uncaught SyntaxError:Unexpected token',但标准帖子和帖子后面没有任何错误。所有调用都在工作服务器上完美运行。

以下是我的登录电话的ajax成功:

success: function(data) {
console.log(data);
if (data == 1) {
window.location = (window.lasturl == "" ? "index.php" : window.lasturl);
} else {
$form.after('failed to login, username and password may be incorrect - please try again');
}

其中$ form设置为登录表单。

console.log显示:1 但是数据== 1 if语句没有执行,而else语句是。

它正在努力!

有什么想法吗?

0 个答案:

没有答案