开发者

Json file not loading

开发者 https://www.devze.com 2023-03-29 03:21 出处:网络
I have a folder structure like this. [ site ] [ js ] [ json ] hints.json page.html Now when I launch my page.html I have a button that when I click is going to load my hints.json file.

I have a folder structure like this.

  • [ site ]
    • [ js ]
    • [ json ]
      • hints.json
    • page.html

Now when I launch my page.html I have a button that when I click is going to load my hints.json file. Here is my script for loading the json.

$(function(){

  var jsonURL = "json/hints.json";
  var butt = $('.button .hints li');
  butt.find('a').click(function(evt){

    $.getJSON(jsonURL, function(value){
        console.log(" title = ", value.intro[0].title);
    });



  }); 

});

Json file structure.

{
    "intro": [
                {"title": "title text", "copy": "copy text1"}, 
                {"title": "title text", "copy": "copy text1"}
             ],
    "active":[
                {"title": "Title text for page active", "copy": "copy text"}
             ]
}

Can anyone tell me why this would not work.

Update: This is been tested locally not from a server.

Here is a jsfid开发者_开发百科dle example even though I'm trying to get it to work locally. http://jsfiddle.net/r3bPC/1/


Json file structure.

{
    "intro": [
                {"title": "title text", "copy": "copy text1"}, 
                {"title": "title text", "copy": "copy text1"}
             ],
    "active":[
                {"title": Title text for page active, "copy": "copy text"}
             ]
}

Dump into http://jsonlint.com/ ....

Parse error on line 14:
...           "title": Titletextforpageacti
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['

Well there's your problem.

Part 2

Grab that JS:

$(function(){

  var jsonURL = "json/hints.json";
  butt.find('a').click(function(evt){

    $.getJSON(jsonURL, function(json){
        // $("#title").text(json.name);
        console.log(" title = ", json.intro[0].title);
    });

});

Run it through http://jshint.com/ ...

Errors:

Line 4 butt.find('a').click(function(evt){
'butt' is not defined.
Line 1$(function(){
Unmatched '{'.
Line 11});
Expected ')' and instead saw ''.
Line 11});
Missing semicolon.

Well there's your other problem.

ps, undefined butts scare me.


complete tried and tested code,

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){    
$.ajax({
type:'GET',
url:'hints.json',
dataType:'json',
success:function(json){
alert(json.intro[0].title); //this alerts title text
},
error:function(){
alert("dssdsdd");
}
});


});

</script>

or

$.getJSON("hints.json", function(json){

        alert(json.intro[0].title);
    });

hints.json

{
    "intro": [
                {"title": "title text", "copy": "copy text1"}, 
                {"title": "title text", "copy": "copy text1"}
             ],
    "active":[
                {"title": "Title text for page active", "copy": "copy text"}
             ]
}

getJSON success callback

var jqxhr = $.getJSON("hints.json", function() {
  alert("success");
  alert(json.intro[0].title);
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
0

精彩评论

暂无评论...
验证码 换一张
取 消