编辑我检查了jQuery文档,并使用$ .ajax指定的json数据类型返回一个评估的javascript对象,所以eval()不是这里的答案.无论如何,我知道,因为我能够解析单个JSON对象,而不是数组.问题是$ .each-ing my through through through :)
我已经遵循了将jQuery中的JSON数组解析为字母的语法,但由于某种原因它不起作用.我使用$ .ajax获取数组,指定了正确的数据类型,并且在Firebug中可以看到我的PHP脚本的响应是[].然而,当我尝试使用$ .each迭代数组时,当我尝试console.log数组的各个部分时,我得到的都是未定义的值.这是我的PHP脚本制作和编码数组的地方:
if(mysqli_num_rows($new_res) > 0) {
$messages = array();
while($message_data = mysqli_fetch_assoc($query_res)) {
$message = array(
'poster' => $message_data['poster'],
'message' => $message_data['message'],
'time' => $message_data['time']
);
$messages[] = $message;
}
echo json_encode($messages);
} else if(mysqli_num_rows($new_res) == 0) {
$message = array(
'poster' => '',
'message' => 'No messages!',
'time' => 1
);
echo json_encode($message);
}
Run Code Online (Sandbox Code Playgroud)
这是我试图解析它:
var logged_in = '<?php echo $logged_in; ?>';
var poster = '<?php echo $_SESSION["poster"];?>';
$.ajax({ …Run Code Online (Sandbox Code Playgroud) 我已经发布了一个关于此问题的问题,但情况发生了很大变化,需要一个新问题.
我有一个名为aromaProducts的MySQL表,其中有7列带有FULLTEXT索引,其中有三个记录.当我对它进行查询时:
SELECT*FROM aromaProducts WHERE MATCH(title)AGAINST('chamomile');
我得到了正确的结果.但是,当我尝试添加第二个字段进行搜索时,我收到一个错误:
找不到与列列表匹配的FULLTEXT索引
每一列都可以正常工作.我还明确地添加了WITH QUERY EXPANSION和同样的东西.
我有另一个表,aroma Products1,而不是一次一个地将FULLTEXT分配给字段,我在创建表时将其分配给所有7个.对于此表,没有查询工作.在检查表结构时,区别在于:
第一个表显示每个字段都有自己的FULLTEXT索引,而第二个表有一个名为title的索引(第一个分配它的字段),它适用于所有七个字段.
我制作FULLTEXT的所有列都是VARCHAR或TEXT数据类型.我不知道问题是什么.
我试图使用jQuery中的$ .post对象向php脚本发送一个名称:值对,其中name和value都是变量.我已经将变量发送到FF中的控制台,所以我知道它们设置正确,但是当我查看正在发送的标头时,只是正确评估了值变量,该名称将作为变量的文字字符串发送名称.这是完全的功能:
$(document).ready(function() {
$('#formS form fieldset > input').blur(function() {
if($(this).val()=='' && $(this).prev().is('img')) {
$(this).prev().remove();
return;
}
if((($(this).is('#formS form fieldset > input[id*=mail]')) ||
($(this).is('#formS form fieldset > input[id*=sername]'))) &&
($(this).val()!="")) {
var email_field = $(this);
if(!$(this).prev().is('img')){
$('<img src="" alt="" style="width: 16px; height: 16px;" />').insertBefore(this);
}
var type = ($(this).is('input[id*=sername]'))?'username':'email';
var value = $(this).val();
$.post('checkemail.php5', {type:value}, function(data) {
if(data == "free") {
email_field.prev().attr('src','/images/greentick.png').attr('alt','available');
} else if(data == "taken") {
email_field.prev().attr('src','/images/redcross.png').attr('alt','taken');
} else {
console.log('hmmm'+data);
}
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
因此,发送的标头是文字字符串类型 …