我正在进行一些大学考试测试,要求我从对象中的href的url获取JSON文件。在此之后,我需要使用JSON文件中的信息动态更改html,所以我想我需要使用$ .ajax()或$ .get()方法。
我在堆栈溢出时发现了几个代码,但似乎没有什么对我有用,我可以让我的代码只使用$ .load()方法,而其他方法什么也不做,也就是.addClass(),. removeClass()和event.preventDefault()工作正常。
这是我的代码: js - >在页面开头的脚本标记之间:
$(document).ready(function()
{
$("nav li a").click(function(event)
{
$("nav li a").not(this).removeClass("active");
$(this).addClass("active");
$("#ris").load($(this).attr('href')); //this work
$.ajax({url: $(this).attr('href'), dataType: "json", //this give the alert
success: function(result)
{$("#ris").html(result);},
error: function(){alert("Error");}
});
$.get($(this).attr('href'), function(json) { //this doesn't work
$("#ris").html(json);
});
$.getJSON($(this).attr('href'), function(json){ //this doesn't work
$("#ris").html(json);});
event.preventDefault();
});
});
html:我只在这里放置导航项,#ris位于页面末尾
<nav>
<li><a href="./Asia.json">Asia</a></li>
<li><a href="./Europa.json">Europa</a></li>
<li><a href="./America.json">America</a></li>
<li><a href="./Africa.json">Africa</a></li>
</nav>
现在我只是将结果放在#ris中,看它是否有效。但我无法理解为什么我不能用任何方法进行调用。
编辑:服务器永远不会收到JSON文件的GET请求。 (服务器日志)
答案 0 :(得分:0)
您应该发布像api这样的数据并阅读如下所示的响应;
$.post("your_json_response_address", {"you_can_post":"anything"}, function(data){
console.log(data);
$("#ris").html(data);
//code what you want...
})