Jquery我没有警报和firefox我没有任何回报。代码工作之前,数据库查询也有成功的记录。我错过了什么???
$.ajax({
type : "POST",
url : "include/add_edit_del.php?model=teksten_display",
data : "oper=search&ids=" + _id ,
dataType: "json",
success : function(msg){
alert(msg);
}
});
case 'teksten_display':
$id = $_REQUEST['ids'];
$res = $_dclass->_query_sql(
"select a,b,id,wat,c,d from tb1 where id='" . $id . "'" );
$_rows = array();
while ( $rows = mysql_fetch_array ($res) ) { $_rows = $rows; }
//header('Cache-Control: no-cache, must-revalidate');
//header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
echo utf8_encode( json_encode($_rows) ) ;
//echo json_encode($_rows);
//var_dump($_rows);
//print_r ($res);
break;
Date Sat, 24 Apr 2010 22:34:55 GMT
Server Apache/2.2.3 (CentOS)
X-Powered-By PHP/5.1.6
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
Content-Length 0
Connection close
Content-Type application/json
Host www.xxxx.be
User-Agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.5.9-2.fc12 Firefox/3.5.9
Accept application/json, text/javascript, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Content-Type application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With XMLHttpRequest
Referer http://www.xxxx.be/xxxxx
Content-Length 17
Cookie csdb=2; codb=5; csdbb=1; codca=1.4; csdca=3; PHPSESSID=benunvkpecqh3pmd8oep5b55t7; CAKEPHP=3t7hrlc89emvg1hfsc45gs2bl2
答案 0 :(得分:1)
$ .ajax成功回调返回你想要它返回的任何内容,在这种情况下你返回一个json OBJECT,看起来好像你只想显示一条成功消息。你的msg变量实际上包含一个对象,而不是“成功!” string - 为了显示你需要使用的msg ['variable_from_json_object'],它将显示该值。
我会看到的东西,如果不是你的jquery在你调用utf8_encode时导致问题,这个方法是否可以转换整个json对象,或者是否需要在每个项目运行之前运行它去json? json remember是一个对象,它不是一个字符串。
您可以查看this以更好地了解如何将数组转换为uft8,然后转换为json。
echo json_encode(utf8_encode_array($_rows));
使用链接中提供的方法可能..
最后,为了确保您的json成功创建,请访问您称为ajax的网址,作为普通网页: include / add_edit_del.php?model = teksten_display& oper = search& ids = “+ _id。当然会将_id替换为仅用于测试的值。我认为您可能会在此处看到一个问题,因为您的网址不应包含查询参数,如果您要使用它们,它们都应该在您的数据中那个参数..我希望有以下任何一种:
$.ajax({
type : "POST",
url : "include/add_edit_del.php",
data : "model=teksten_display&oper=search&ids=" + _id,
dataType: "json",
success : function(msg){
alert(msg);
}
});
或者根本不使用数据参数并将其塞进网址,因为url期望没有查询参数(?var = foo),当它看到数据时它会用数据中提供的值替换url参数
$.ajax({
type : "POST",
url : "include/add_edit_del.php?model=teksten_display&oper=search&ids=" + _id",
dataType: "json",
success : function(msg){
alert(msg);
}
});
祝你好运!
答案 1 :(得分:0)
将此行添加到ajax,查看是否有任何错误
success : function(msg){
alert(msg);
},
error : function(request, status, error) {
if(status == 'parsererror' || status == 'error') {
alert(error);
}
}
答案 2 :(得分:0)
无论如何,我在我的方框中得到了它的 CentOS 5.4 : [root @ www include] #php -version PHP 5.1.6(cli)(内置:2010年1月13日17:09:42) 版权所有(c)1997-2006 PHP小组 Zend Engine v2.1.0,版权所有(c)1998-2006 Zend Technologies [root @ www include]#