我是ajax的新手,我正在尝试让以下脚本正常工作。我只想从json对象获取信息并将其打印到文档中。
这是名为companyinfo.json的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;
}
}
}
我对Ajax很新,但希望这是有道理的。感谢
答案 0 :(得分:0)
如果你想得到一些我认为你应该添加的东西
type:"GET"
你的$ .ajax上的应该是这样的。
$.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>');
});
}
});
答案 1 :(得分: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();
答案 2 :(得分: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
});
答案 3 :(得分:0)
$.getJSON("getJson.ashx", { Index: 1 }, function (d) {
alert(d);
});