ajax调用不适用于双重数据参数 - javascript

这是下面的我的ajax代码

$('.username-check').on('click', function() {
    //console.log('You clicked');
    alert(username);
    var username = $('.username-target'),
        lastname = $('.lastname-target'),
        feedback = $('.username-feedback');

    function changeFeednackText(text){ feedback.text(text); }

    function couldNotCheck(){ changeFeednackText('Could not check at this time'); }

    $.ajax({
        url: 'check/username.php',
        type: 'get',
        data: {
            username: username.val(),
            lastname: lastname.val()
        },
        dataType: 'json',
        success: function(data){
            if(data.available !== undefined){
                if(data.available === true){
                    changeFeednackText('That username is available.');
                }else{
                    changeFeednackText('Sorry, that username is not available.');
                }
            }else{
                couldNotCheck();
            }
        },
        error: function(){
            couldNotCheck();
        }
    });
});

我的HTML代码

<form action="signup.php" method="post" autocomplete="off">
    <div>
        <label for="username">First Name<input type="text" name="username" id="username" class="username-target"></label><br />
        <label for="lastname">Last Name<input type="text" name="lastname" id="lastname" class="lastname-target"></label><br />
        <a href="javascript:;" class="username-check">Check username</a>
    </div>
    <div class="username-feedback"></div>
    <div><input type="submit" value="Check"></div>
</form>

我的PHP也在下面

header('Content-Type: application/json');
$username = (isset($_GET['username'])) ? htmlspecialchars($_GET['username']) : null;
$lastname = (isset($_GET['lastname'])) ? htmlspecialchars($_GET['lastname']) : null;

$available = true;
if($username == 'bar' && $lastname == 'foo'){
// if($username == 'bar'){
    $available = false;
}
$arr = array('username' => $username . $lastname, 'available' => $available);
echo json_encode($arr);

如果我使用像false这样的if语句,上面的代码可以正常工作并返回if($username == 'bar'){,但是当我用来检查两个值(例如if($username == 'bar' && $lastname == 'foo'){)时,它总是返回true

请注意,我分别尝试将foo和bar分别设置为usernamelastname来获得false回调,但没有成功。不知道这里出了什么问题,但是我希望你们中的任何人都可以发现错误并帮助我..您有什么主意吗?

参考方案

尝试更改:

 if(data.available !== undefined){

 if( typeof(data.available) != "undefined" ) {

在您的成功职能中。

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…

将简单的javascript代码转换为c# - javascript

昨天我在这里问了一个问题。使用javascript和html解决方案很简单前一阵子我打算什么是操纵html来执行javascript中的任务但是我改变了主意,将javascript代码重写为c#这是输入<Abstract> <Heading>Abstract</Heading> <Para TextBreak=�…

如果复选框切换复选框已选中,则在切换div中输入必填字段 - javascript

我使用脚本用JavaScript切换了一些div。如果要选中复选框以显示toogle div,我想在toogle div中设置一些“必填”输入字段。有人能弄清楚吗?那是工作吗?function show(id) { if(document.getElementById) { var mydiv = document.getElementById(id); m…

在laravel中应用ajax - javascript

我想在laravel 4.2中应用ajax。我想重定向到页面而不重新加载它。我已经尝试过使用window.loaction.href和window.loaction.assign了,但是它不起作用。这是我的文件Route.php //login+logout+auth Route::get('login','authentica…

从其他文件夹访问母版页 - javascript

我认为这应该很容易但不确定如何解决。我在主文件夹中有一个名为01.aspx的页面01.aspx页应该继承products.master项目根目录存在于products.master中像下面的照片:我使用波纹管代码,但没有任何工作的JavaScript,图像和...01.aspx<%@ Page Title="" Language=&…