jQueryMobile的几个问题解决办法

这两天在学习jQueryMobile过程中,遇到一些问题。把解决的方法记一下,省得下次再到处找.

 

 

1、使用$.getJSON总是不触发callback函数的问题:

$.getJSON调用的方式如下:

客户端:

$.getJSON(serviceURL + 'getreports.php?id='+id, function (data) {alert("调用成功.");});

 服务端:

echo '{"items":'. json_encode($employees) .'}'; 

 

可是测试时却未触发回调函数,用工具监控到服务端已返回的json结果,该结果用工具查看,是正确的json格式。

后来通过在脚本中设置错误捕获:

$.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
  alert(textStatus);
  alert(errorThrown);
  alert(XMLHttpRequest.responseText);
}});

 得知出错原因是parseerror,即jQuery无法解析服务器返回的json内容。

 

后来改成JSONP的方式:

客户端:

$.getJSON(serviceURL + 'getreports.php?id='+id+"&format=json&callback=?", function (data) {alert("调用成功");});

 服务端:

echo $_GET['callback'] . '({"items":'. json_encode($employees) .'})'; 

 

问题解决。

 JSONP的解析可以参考以下网站:

http://zh.wikipedia.org/zh/JSONP

 

 

=================================

2、在本地目录中,一个页面中链接到另一个页面时,报错“Error loading page”:

该问题在官网上有说明:

http://jquerymobile.com/demos/1.0a4.1/docs/pages/docs-pages.html

按照文章中所说,在<a>标签中增加“rel="external"”即可。

例如:

<a href="employeedetails.html?id=123" rel="external">

 

 

 

 

 

你可能感兴趣的:(jquerymobile)