2012-03-23 17 views
1

私はajaxを初めて使用していて、次のスクリプトを動作させようとしています。私はちょうどjsonオブジェクトから情報を取り出し、それを文書に印刷したいと思う。ここでシンプルなAjaxリクエスト

がcompanyinfo.jsonと呼ばれるJSONファイルです:シンプル開始するには

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); 

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


} 

Ajaxリクエストは次のようになります。私は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

+0

私はcompany1の値を(私が入力した入力フィールドに何を入れるべきか)するために何を設定すべきですか?その会社名を反映するために対応するjsonドキュメントをどのようにフォーマットする必要がありますか?私は上記のスクリプトを提出するときに何も起こっていない –

答えて

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()?? 

それは(であるべき)この1のように:

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); 
       });