2014-05-24 58 views
2

嗯,這個問題並不新鮮,正如我看到的(真的很多衝浪),但仍然無法爲自己找到解決方案。問題

說明:

  1. 有本地Web服務器 - XAMPP;
  2. 火狐29.0.1
  3. ,並試圖發送POST與$就

    function checkUser(){ 
        $.ajax({ 
        type: 'POST', 
        url: 'ajax/checkUser.php', 
        data: 'uname='+$("#username").val()+'&pword='+$("#password").val(), 
        success: function(){ 
         someNewFunc(); 
        }, 
        }); 
    }; 
    

這個功能我用打電話:

$(document).ready(function(){ 
     $(".button.postfix.login").on("click", function(){ 
     if (($("#username").val() != "") && ($("#password").val() != "")) { 
      hide(); <-- hide pop ups about empty field 
      checkUser();  
     } else {$("#empty").show();} <-- pop ups 
     }); 
    }); 

這裏頁面的代碼帶有元素:

<input id="username" type="text" placeholder="Username" /> 
<input id="password" type="password" placeholder="Password" /> 

<a class="button postfix login" href="#" 
onclick="event.preventDefault();">Sign in</a> 

我猜這些數據都在外面,但是checkUser.php頁面沒有任何東西。 我在做什麼錯?

P.S. checkUser.php:

<?php 
print_r($_POST); 
?> 

結果 - 陣列()

P.P.S.順便說一句,如果POST更改爲GET它的工作,但需要POST

+0

你說的意思是什麼?「沒有得到什麼嗎?」你可以發佈你的後端代碼接收它嗎?此外,只是爲了驗證,你的onclick =屬性不搶佔jquery onclick函數?您已驗證.on正在運行? –

+0

無論如何你怎麼檢查價值?既然你沒有傳遞任何成功的數據或警報。 –

回答

0
$(document).ready(function(){ 

$(".button.postfix.login").on("click", function() { 

    var username = $("#username").val(); 
    var password = $("#password").val(); 

if ((username != "") && (password != "")) { 
    hide(); <-- hide pop ups about empty field 
    checkUser(username, password); // Pass the variables here as a parameter 
} else { 
    $("#empty").show();} <-- pop ups 
}); 

// Put the parameters here 
function checkUser(username, password) { 

    $.ajax({ 
    type: 'POST', 
    url: 'ajax/checkUser.php', 
    data: { username:username, password:password} //It would be best to put it like that, make it the same name so it wouldn't be confusing 
    success: function(data){ 
     alert(data); 
    }, 
    }); 
}; 

});

所以,當你要調用它在PHP

$username = $_POST['username']; 

echo $username; 
+0

沒有新的值...相同的空數組= =( – Alex

+0

你是如何檢查數據的?你能改變上面的代碼在AJAX上和PHP一樣嗎? –

+0

只是不添加簡單的'警報(數據);'成功 - 這是我最大的錯誤... – Alex

0

你的someNewFunc回調火?您是否在Firefox的開發者控制檯中看到HTTP AJAX請求?

嘗試發送您的文章數據字典來$.ajax

$.ajax({ 
    type: 'POST', 
    data: { 
    uname: $("#username").val(), 
    pword: $("#password").val() 
    } 
}); 
+0

不,這是行不通的。我已經在這個項目中使用了'preventDefault' - 這部分一切正常 – Alex

+0

是的,我剛剛測試'onclick'中的'event'工作正常。 – jordoncm

+0

你如何看到'checkUser.php'上的'Array()'的輸出?在瀏覽器控制檯中?記住'$ .ajax'不會重定向瀏覽器。 – jordoncm