0
我是新來的stackflow和m有一些問題,而從關聯數組中使用jquery的json ajax編碼值時,jquery腳本什麼都不做!jquery ajax數據類型json不能使用php關聯數組
它的一個腳本,少了點什麼,但通過JSON編碼給你回這兩個用戶名和密碼,還給你......
這裏是我的index.html文件的代碼:
<html>
<head>
<title>test jquery</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#button").click(function() {
var sendu = $("#username").val();
var sendp = $("#password").val();
$.ajax({
type: "POST",
url: "ajax.php",
data: "username="+sendu+"&password="+sendp,
dataType: "json",
success: function(msg,string,jqXHR){
$("#result").html(msg.name);
}
});
});
});
</script>
</head>
<body>
Name: <input type="text" id="username" name=""username /> <br />
Password: <input type="password" id="password" name="password" /><br />
<input type="button" value="send" id="button" />
<div id="result"></div></p>
</body>
</html>
這是PHP文件:
<?php
$name = $_REQUEST['username'];
$password = $_REQUEST['password'];
$a = array('name'=>$name, 'password'=>$password);
$c = json_encode($list);
echo $c;
?>
所以當我刪除的數據類型:「JSON」當我從PHP文件中刪除關聯數組,一切順利的話,它的工作!
這裏是消除JSON編碼後:
HTML:
<script type="text/javascript">
$(document).ready(function() {
$("#button").click(function() {
var sendu = $("#username").val();
var sendp = $("#password").val();
$.ajax({
type: "POST",
url: "ajax.php",
data: "username="+sendu+"&password="+sendp,
success: function(msg,string,jqXHR){
$("#result").html(msg);
}
});
});
});
</script>
和PHP文件:
<?php
$name = $_REQUEST['username'];
$password = $_REQUEST['password'];
$c = "your name is ".$name."<br />and your password is ".$password;
echo $c;
?>
還有一件事是,我不是一個英國人這樣如果您發現任何常見的語法錯誤,請忽略!
您的數據不是JSON格式,而只是一個常規網址。大衛瓊斯的答案是正確的。 PS。使用'$ _POST'而不是'$ _REQUEST'。 – GuyT 2014-09-23 13:26:06
感謝GuyT爲你的答案,但它的工作使用$ _REQUEST 和感謝大衛吉恩 – 2014-09-23 14:08:02
我知道,但我只想給你使用'$ _POST'的建議。 '$ _REQUEST'的問題在於,如果名稱相同,它將接受每種方法。換一種說法;它也接受'$ _COOKIE','$ _SESSION','$ _GET'。對於黑客來說,它會更容易,因爲所有的方法都可用(如果你想用戶輸入你不會受到攻擊)。 – GuyT 2014-09-24 06:34:08