2017-01-15 179 views
1

这是应该做的是调用actions.php,然后返回'POST'的数组'GET'类型 这里是代码。我可以获得警报(“不在ajax”)作出响应,但$.ajax中的任何内容都不会:有任何建议吗?jquery ajax没有响应

/******这是jQuery和AJAX文件***********************/

/****************************

$("#loginSignupButton").click(function() { 
    // alert("Not in the ajax"); 
    $.ajax({   
     type: "POST", 
     url: "actions.php?action=loginSignup", 
     data: "email=" + $("#email").val() + "&password" + $("#password").val() + "&loginActive=" + $("#loginAcive").val(), 
     success: function(result) {  
      alert(result);  
     } 
    })   
}) 

/************ ****/

include(“functions.php”);

if ($_GET['action'] == "loginSignup") { 

     print_r($_POST); 

    } 

/***********/

+1

你加载jQuery库? –

+1

将错误函数添加到您的ajax调用中,并查看您是否收到任何错误。错误:函数(jqXHR,textStatus,errorThrown){console.log(textStatus,errorThrown); } – Hakunamatata

+0

您无法发送POST请求的查询字符串。你需要发送'data'是一个对象(键值对)。 – Terry

回答

1

一般来说,当你点击一个按钮,它有一个默认你可以防止的行动

$("#loginSignupButton").click(function(event) { 
event.preventDefault() 
//call ajax stuff here 
} 

在你的情况下,你没有捕获事件,因为你的回调没有任何输入参数。另外,POST通常会向服务器发送一些东西,如果您希望获得某些东西,这些东西就会进入您的成功回调中,在这种情况下,您只是将其显示为警报,这就是我期望看到的所有内容这个案例。

请注意方法:POST会向服务器发送一些可序列化的数据,而GET会向服务器请求某些内容。很难理解你想要做什么。

旁注:您还可以使用“这个”关键字,以及如:

$("#loginSignupButton").click(function() { 
this.preventDefault() 
} 

,你可能会在未来看到的,但不要担心,因为它的不审慎的理解AJAX请求

+1

你的例子会更清楚你没有从原来的海报的标准函数语法切换到胖箭头语法... –

+0

谢谢,改变了。 – JonathanMitchell

0

我认为你的资源没有返回成功代码,这就是为什么你的成功功能从未被执行。

要了解如果这是真的,以下行添加到您的代码:

error: function(jqXHR, textStatus, errorThrown) { 
    alert(textStatus); 
} 

你可以阅读更多关于jQuery docs使用jQuery.ajax

1

确保实际被点击的按钮(也许你的ID是错了吗?)

$("#loginSignupButton").click(function() { 
alert('working') 

然后添加此下成功:

error: function(e) { 
    console.log(e) 
} 

打开你的控制台(F12),并采取看看是否有错误输出。

当您在控制台中时,请查看网络选项卡。是否有请求发送?什么是参数?什么是回应?

还要注意一个事件监听器这样不能设置,直到DOM加载之后,所以你需要因此,原来我用显然是或不工作的引导AJAX链接与$(document).ready(function(){ ... }

0

把它包此链接:

如何以往当我改变了AJAX谷歌,它的工作: