我已经阅读了多个类似的帖子,并且我的代码似乎与建议相符,但是仍然没有返回数据。
这是我的JS:
$.post('php/get_last_word.php', { user_id : userID },
function( data ) {
currentLanguage = data.language_id;
currentWord = data.word_id;
console.log("currentLanguage = " + currentLanguage)
console.log("currentWord = " + currentWord);
},'json');
和相关的PHP:
$user_id=$_POST['user_id'];
mysql_select_db(wordsicle_search);
$sql = "SELECT `language_id`, `word_id` FROM `save_state` WHERE `user_id`=$user_id";
$result = mysql_query($sql,$con);
while ($row = mysql_fetch_assoc($result)) {
$encoded = json_encode($row);
echo $encoded;
}
并生成日志:
Connected successfully{"language_id":"1","word_id":"1"}
因此,正在回显json数组,但它并未以data
结尾,因为没有填充currentLanguage
和currentWord
。这是异步性的问题吗?或者是其他东西?
参考方案
确保您有一个有效的json从PHP脚本返回到变量
如果您的json对象是这样的,
{"language_id":"1","word_id":"1"}
您可以访问像这样的值
currentLanguage = data.language_id;
currentWord = data.word_id;
示例JsFiddle http://jsfiddle.net/NuS7Z/8/
您可以使用http://jsonlint.com/来验证您的jSon格式是否正确。
在发布请求中将json
指定为数据类型值将确保响应以json
格式返回到成功回调。
$.post('php/get_last_word.php',{user_id:userID}, dataType:"json",function(data){
currentLanguage = data.language_id;
currentWord = data.word_id;
});
您还可以使用getJson
来简单地获取json数据。 getJson是ajax Call的简写,数据类型为json
http://api.jquery.com/jQuery.getJSON/
验证php中的javascript对象 - php在我的用户界面中,用户可以构建一些javascript对象,例如:var box = { "width": "100px", "height": "200px", "click": function () { alert("You clicked t…
使用jQuery将值增加到attr - php我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…
CKEditor在我的文本中添加了div和一些不需要的字符 - php我在Web应用程序中将CKEditor用于后端。当我从另一个位置复制并粘贴文本时,它会在复制粘贴的文本的末尾添加<div>Â</div>,当我将其发布到数据库中时,甚至会变得更糟。它在不需要的区域中添加了许多Â和字符。我该如何解决?我的网络应用程序中也有jQuery库。 参考方案 我通过将页面编码从<META http-equi…
使用php创建JS文件 - php我有这样的代码是使用php创建的<?php $script="$(document).ready(function(){alert('hai');});"; ?> 据我在其他网站中提到的,他们使用了fopen()和fwrite()来打开文本文件并将其写入。我不想创建txt文件,我可以使用php创建一个脚本文…
jQuery的不发布数据在IE浏览器 - php我创建一个简单的表单,当我选择任何东西时,我将拥有一个组合框,然后将一个函数置于onchange事件上,以便对其进行调用。然后我通过jQuery将数据发送到一个帮助文件中<script type="text/javascript"> $.noConflict(); function Searchwine(obj,str) { …