JQuery AJAX Тип данных JSON не работает с ассоциативным массивом PHP

я новичок в стеке и у меня возникли некоторые проблемы при использовании jquery ‘json кодированных значений ajax из ассоциативного массива, скрипт jquery ничего не делает!

это скрипт, который ничего не делает, но возвращает вам имя пользователя и пароль через json encode …

Вот мой код файла 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;?>

поэтому, когда я удалил dataType: «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;?>

и еще одна вещь, что я не англичанин, поэтому, если вы найдете какие-либо общие ошибки грамматики, пожалуйста, игнорируйте!

0

Решение

Я заметил одну вещь: эта строка в вашем вызове AJAX должна быть:

data: "username="+sendu+"&password="+sendp,

Должно быть:

data: {username: sendu, password: sendp}

Таким образом, вы можете получить доступ к переменным при использовании dataType: JSON

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]