我正在使用jsonp和ajax来查询在另一台服务器上用java编写的Web服务.我使用以下jquery命令:
$.ajax({
type: "GET",
url: wsUrl,
data: {},
dataType: "jsonp",
complete: sites_return,
crossDomain: true,
jsonpCallback: "sites_return"
});
function jsonp_callback(data) {
console.log(data);
}
function sites_return(data) {
console.log(data);
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是在查询完成后调用一个名为jsonp_callback的函数.我可以清楚地看到json格式的字符串:
{"listEntries":["ELEM1", "ELEM2", "ELEM3", etc...]}
Run Code Online (Sandbox Code Playgroud)
但是在完成事件触发后调用函数sites_return之后,我得到以下内容:
Object { readyState=4, status=200, statusText="parsererror"}
Run Code Online (Sandbox Code Playgroud)
同样作为参考,在sites_return函数之前调用jsonp_callback函数.此外,如果我从代码中取出jsonp_callback函数,我得到一个投诉,即firebug没有实现该函数.
我的问题有三个:1)我在jquery方面做错了什么?2)为什么json在jsonp_callback中正确解析而不是sites_return?3)我该怎么做才能解决这些问题?
编辑
一些新的发展.根据这里的评论是一些额外的信息.
以下是http响应的内容
jsonp_callback({"listEntries":["ELEM1", "ELEM2", "ELEM3"]})
Run Code Online (Sandbox Code Playgroud)
我假设这是调用jsonp_callback的原因.我想现在我的问题变成了,有没有办法控制它(假设我无法访问后端Web服务).
有没有办法告诉jquery mobile跳过特定元素?
我有一个自定义div看起来像:
<div class="fr-confRoomInfo">
<a href="#" class="fr-confRoomBtn blue ui-link">
<span>Some text</span></a>
</div>
Run Code Online (Sandbox Code Playgroud)
我不想将ui-link应用于该特定div中的标记.有没有办法做到这一点?
编辑 我最终在jquery mobile下面移动我的自定义css链接,所以我可以覆盖我需要更改的css参数.所以在我的CSS中我最终做到了这一点:
.fr-confRoomInfo
{
text-shadow: none;
}
Run Code Online (Sandbox Code Playgroud)
摆脱了实际从ui-body-c继承的文本阴影(不是ui-link)