2012-03-23 117 views
1

我是新來的ajax,並試圖讓下面的腳本工作。我只想從json對象獲取信息並將其打印到文檔中。簡單的ajax請求

這裏是JSON文件名爲companyinfo.json:

{ 
'id':1, 
'name':'Stack' 


} 

Ajax請求如下:

ar xhr = false; 
var xPos, yPos; 

$(function(){ 

    var submitButton = $("#dostuff"); 
    submitButton.onclick = sendInfoRequest; 

}); 

function sendInfoRequest (evt) { 
    if (evt) { 
     var company1 = $("#companyInput1").val; 
     var company2 = $("#companyInput2").val; 
    } 
    else { 
     evt = window.event; 
     var company = evt.srcElement; 
    } 
    $.ajax({ 
     url : 'companyinfo.json', 
     dataType: 'json', 
     data: company1, 
     success: function(data) { 
      console.log(data); 
      var items = new Array(); 
      $.each(data, function(key, val) { 
       items.push('<li id="' + key + '">' + val + '</li>'); 
      }); 
     } 

    }); 


    return false; 
} 
console.log(data.id); 

從簡單開始。我只是console.log data.id來查看腳本是否從json文件返回了一個值。

將其寫入到文件,我會做這樣的事情,調用showContents功能在上面的回調函數:

function showContents(companyNumber) { 
    if (xhr.readyState == 4) { 
     if (xhr.status == 200) { 
      var outMsg = xhr.responseXML; 
      $("." + data.companyName.toLowerCase + companyNumber).innerHTML(data.companyName) 
     } 
     else { 
      var outMsg = "There was a problem with the request " + xhr.status; 
     } 


    } 
} 

我是很新,阿賈克斯,但希望這有一定的道理。由於

+1

所以......問題是什麼? – hugomg 2012-03-23 03:09:23

+0

我應該如何設置company1的值(也就是我應該在我提交的輸入字段中輸入什麼內容)。以及如何格式化相應的json文檔以反映公司名稱?當我提交上面的腳本時,什麼都沒有發生 – 2012-03-23 03:30:57

回答

0

,如果你想獲得的東西,我認爲你應該在你的$就應該是這樣的添加

type:"GET" 

$.ajax({ 
    url : 'companyinfo.json', 
    dataType: 'json', 
    type:"GET", 
    contentType: "application/json; charset=utf-8", 
    data: company1, //What is your purpose for adding this? 
    success: function(data) { 
     console.log(data); 
     var items = new Array(); 
     $.each(data, function(key, val) { 
      items.push('<li id="' + key + '">' + val + '</li>'); 
     }); 
    } 

}); 
0

林不知道這個在你的代碼:

var company1 = $("#companyInput1").val; //should it be with()?? 
var company2 = $("#companyInput2").val; //should it be with()?? 

應與()像這樣的:

var company1 = $("#companyInput1").val(); 
var company2 = $("#companyInput2").val(); 
0

最簡單的方法來獲取和分析JSON是使用$.getJSON

// you need to use a map as your data => {key : value} 
$.getJSON("companyinfo.json", {company : company1}, function(data){ 
    console.log(data); 
    var items = []; // new Array(); 
    $.each(data, function(key, val){ 
    items.push('<li id="' + key + '">' + val + '</li>'); 
    }); 
    // do something with items 
}); 
0

你可以這樣做:

$.getJSON("getJson.ashx", { Index: 1 }, function (d) { 
        alert(d); 
       });