JQuery Ajax获得不同类型的变量在javascript与PHP比较
JQuery Ajax Get different type of variable in javascript compare with PHP
在我的php代码中,我返回变量的对象类型。然而,在JQuery ajax成功返回数据是字符串数据的形式。我使用JSON.parse(data)将数据解析成JSON形式。但是由于返回字符串数据的格式,我不能这样做。我可以知道我如何在php中返回JSON对象,同时在我的JQuery $ajax函数也会得到JSON对象,而不是字符串。以下是我的代码:
Javascript:$(document).ready(function callAjax(){
$.ajax({
type: "GET",
url: "php/test.php",
cache: false,
success: function(data){
console.log( data);
interval = setTimeout(callAjax, 1000);
}
})
});
PHP: <?php
require('test2.php');
$messages = get_msg();
if (is_array($messages) || is_object($messages)){
foreach($messages as $message){
$array = array('chat_id' => $message['chat_id'],
'sender_name' => $message['sender_name'],
'chat_body' => $message['chat_body'],
'chat_time' => $message['chat_time']);
$object = (object) $array;
echo json_encode(gettype ($object));
}
}else{
echo "Nothing";
}
?>
在ajax调用中添加dataType:'json'
你必须让他知道你从ajax调用中得到了什么样的数据。此外,如果条件失败,则发送一个数组,如
json_encode(array('state'=>'nothing'));
php代码 require('test2.php');
$messages = get_msg();
if (is_array($messages) || is_object($messages)){
foreach($messages as $message){
$array = array('chat_id' => $message['chat_id'],
'sender_name' => $message['sender_name'],
'chat_body' => $message['chat_body'],
'chat_time' => $message['chat_time']);
$object = (object) $array;
echo json_encode(array('state'=>gettype($object)));
}
}else{
echo json_encode(array('state'=>'nothing'));
}
Javascript $(document).ready(function callAjax(){
$.ajax({
type: "GET",
url: "php/test.php",
cache: false,
dataType:'json',
success: function(data){
try {
data = jQuery.parseJSON(data);
}
catch (err) {
data = typeof data == 'object' ? data : jQuery.parseJSON(data);
}
console.log(data.state);
interval = setTimeout(callAjax, 1000);
}
})
});
相关文章:
- AJAX Post的奇怪Javascript/PHP行为
- 带有输入参数的Javascript/PHP中的XMLHTTPrequests
- 用Javascript/PHP创建字典
- 如何记录用户'使用Javascript/PHP的语音
- fetch data from db using javascript & php
- onClick按钮不工作javascript/php/jquery mobile
- 通过Javascript(PHP循环)添加类
- Javascript php onclick
- Interfacing html, javascript, php and mysql
- Javascript/PHP Validation
- JavaScript/PHP 刷新取代了 HTML 元素类
- Cross-domain javascript <-> php
- 设置计时器并使用javascript/PHP进行检查
- Javascript/Php聊天-输入is'不能在一个文本框中工作
- AJAX (JavaScript / PHP), FormData not sending
- Javascript/PHP中的HTML转义/编码
- 我想在Iframe Javascript PHP的帮助下,将单个ajax上传器脚本转换为多个上传器
- javascript/php中的批量打印
- Javascript/PHP,使用文本文件作为数据库,并将内容组织到阵列表中
- JavaScript/PHP函数不会发布到其他页面