这让我很难过。我实际上是第一次使用JSON,所以如果你觉得很明显的话请跟我一起。
我已经超越了所有其他错误,但现在我已成功连接到该页面,在firebug中显示200 OK错误,当然这是最不合适的错误。
<div class="placeholder"></div>
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$(function(){
$("a[href*='/site/apps/kb/cs/contactdisplay.asp']").click(function(e){
var orgUrl = $(this).attr("href") + "&r=1";
e.preventDefault();
$.getJSON(orgUrl,
function(data){
$("placeholder").html("<strong>" + data.companyName + "</strong>");
});
});
});
});
</script>
单击此处的公司链接之一,它将调用动态URL以从目标中获取值: http://www.kintera.org/site/apps/kb/cs/contactsearch.asp?c=biIQI0NJKiKYF&b=8383853&submit=submit
会让你看到我在做什么。我无法控制渲染的源html,但我能够将我想要的输出放到json对象上。现在诀窍就是回归它。
是的,它调用的页面是HTML格式,但其中包含JSON对象。作为Workplace 6链接的示例,它从此位置拉出:http://www.kintera.org/site/apps/kb/cs/contactdisplay.asp?c=biIQI0NJKiKYF&b=8383853&sid=efIOKYMEJhIKLYMxHkH&r=1。如果您查看源代码,您将看到JSON。
答案 0 :(得分:0)
问题的一部分(来自您发布的链接)是您从链接获得的href是指http://
...而不是https://
- 这些计为不同的来源,因此CORS规则将中止ajax请求,并在Web控制台中将请求标记为“已取消”。
另一部分是您请求的页面不返回json。您希望让目标网页回复{"companyName":"foo"}
,其中mime类型为application/json
。
答案 1 :(得分:0)
通过从JSON更改为.load()来修复它。出于文档目的,这是我最终得到的结果。
<script>
$(document).ready(function(){
//Call for results
$(function(){
$("a[href*='/site/apps/kb/cs/contactdisplay.asp']").click(function(e){
var orgUrl = $(this).attr("href") + "&r=1";
e.preventDefault();
$.get(orgUrl, function(data){
$(".placeholder").html( $(data).find(".nameContainer").html());
})
});
});
});
</script>
这意味着我将代码从嵌入HTML的JSON中删除为HTML。