Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax调用出错->;发送两个文件而不是一个_Javascript_Php_Jquery_Ajax_Xmlhttprequest - Fatal编程技术网

Javascript Ajax调用出错->;发送两个文件而不是一个

Javascript Ajax调用出错->;发送两个文件而不是一个,javascript,php,jquery,ajax,xmlhttprequest,Javascript,Php,Jquery,Ajax,Xmlhttprequest,我需要你帮我做一个基本的ajax调用,我用它作为登录按钮。 有一个表单需要完成,然后按下“login”按钮,这通常会调用一个php文件来检查和处理登录操作 问题是,当我尝试登录时,我发送了两个文件,而不是一个。我的意思是,我希望这个操作调用login.php文件并返回一个带有对象的回复,但是有一个第一个请求出现在我的开发人员控制台中,另一个我不想调用的文件出现在第一个调用下面 问题当然出在我的代码中,我必须在我的JS文件或php中编写一些糟糕的代码,因此它们如下所示: -单击此函数即可调用JS

我需要你帮我做一个基本的ajax调用,我用它作为登录按钮。 有一个表单需要完成,然后按下“login”按钮,这通常会调用一个php文件来检查和处理登录操作

问题是,当我尝试登录时,我发送了两个文件,而不是一个。我的意思是,我希望这个操作调用login.php文件并返回一个带有对象的回复,但是有一个第一个请求出现在我的开发人员控制台中,另一个我不想调用的文件出现在第一个调用下面

问题当然出在我的代码中,我必须在我的JS文件或php中编写一些糟糕的代码,因此它们如下所示: -单击此函数即可调用JS ajax

logIn(pseudo, mdp, callback) {
    var var_request = {};
    var_request['pseudo'] = pseudo;
    var_request['mdp'] = mdp;

    $.ajax({
        url: '/webservices/logIn.php',
        method: 'POST',
        data: var_request,
        timeout: kTimeout,
        success: function() {
            // callback();
            alert('good');
        },
        error: function() {
            alert('function error');
        }
    });
},
请求的php文件是

include("connexion_bdd.php");

$pseudo = $_POST["pseudo"];
$mdp    = $_POST["password"];

$req = $bdd->prepare('SELECT * FROM joueurs WHERE nickname = ?');
$req->execute(array($pseudo));

$reponse = $req->fetch();

if (!$reponse) {
    $return = array('error'=>'Pseudo non existant');
} else if ($reponse['mdp'] != $mdp) {
    $return = array('error'=>'Mauvais mot de passe');
} else {
    $return = array('error'=>'aucune erreur');
}

print(json_encode($return));
谢谢你们的阅读和帮助!我想我做了一些坏事,但我看不出来,我不是很有经验,所以如果你觉得解决它很容易,不要感到惊讶^^

请参见ya:)

尝试以下操作(将
$(“#您的表单”)
切换到您的表单ID):

尝试此操作(将
$(“#您的表单”)
切换到您的表单ID):

对不起,迟了答复

谢谢大家的回答,它现在可以工作了,我只有一个lil问题:我的ajax调用返回的数据不是JSON,尽管我在php中使用

打印(json_编码($reponse))

我还需要做些什么才能将答案视为JSON吗?

很抱歉,我没有及时回复

谢谢大家的回答,它现在可以工作了,我只有一个lil问题:我的ajax调用返回的数据不是JSON,尽管我在php中使用

打印(json_编码($reponse))


我还需要做些什么才能将答案视为JSON吗?

您是否运行了
event.preventDefault()
当您运行此javascript代码时,要停止正常提交表单,我们可以看看您如何调用
logIn()
可能是表单提交的问题。我将尝试此代码@riggsfully,thxYes@VinnyMannello登录函数位于我创建的Webservices对象中。它的调用是$('loginSubmit')。off('click')$('loginSubmit')。on('click',function(){if($('pseudoC').val()==“”){alert('remplir le pseudo');}else if($('mdpC').val()=“”){alert('remplir le mdp');}else{//Parameters var pseudo=$('pseudoC').val();var mdp=$('mdpC').val();Webservices.logIn(pseudo,mdp,function(reponse){alert(response);});}}}}};@AurelCA看起来@riggsfully走上了正确的轨道,
是什么样子的?您是否运行了
event.preventDefault()
来停止表单提交,当您在其位置运行此javascript代码时,可以看到如何调用
logIn()
表单提交可能有问题。我将尝试此代码@RiggsFolly,thxYes@VinnyMannello登录函数在我创建的Webservices对象中。它的调用是$('loginSubmit')。off('click');$('loginSubmit')。on('click',function(){if($('pseudoC')。val()====“”){alert('remplir le pseudoC');}如果($('#mdpC').val()==“”){alert('remplir le mdp');}else{//Parameters var pseudo=$('#pseudo c').val();var mdp=$('#mdpC').val();Webservices.logIn(pseudo,mdp,function(reponse){alert(reponse);});@AurelCA看起来@riggsfully走上了正确的轨道,
是什么样子的?
$("#your-form").submit(function(event) {
    event.preventDefault(); //prevent form submission and do your code instead...
    if ($('#pseudoC').val() == "") {
        alert('remplir le pseudo');
    } else if ($('#mdpC').val() == "") {
        alert('remplir le mdp');
    } else {
        //Parameters
        var pseudo = $('#pseudoC').val();
        var mdp = $('#mdpC').val();

        //Faire le check bdd si le pseudo existe et s'il est bien associé à ce mdp
        Webservices.logIn(pseudo, mdp, function(reponse) {
            alert(reponse);
        });
    }
});