Javascript 传递变量以获取Ajax结果项
我试图传递一个变量来访问AJAX调用返回的特定结果。我获取页面上的每个ID,然后尝试从AJAX调用访问特定的数据段,但是我不知道如何将变量传递给数据对象以获取该项。例如,如果结果包含标题文本,如果我要硬编码,我会使用Javascript 传递变量以获取Ajax结果项,javascript,jquery,ajax,sharepoint,Javascript,Jquery,Ajax,Sharepoint,我试图传递一个变量来访问AJAX调用返回的特定结果。我获取页面上的每个ID,然后尝试从AJAX调用访问特定的数据段,但是我不知道如何将变量传递给数据对象以获取该项。例如,如果结果包含标题文本,如果我要硬编码,我会使用 var Title = data.d.Title 我想做的是动态更改“标题部分”。以下是我目前的情况: function LoadItem() { //Call REST API to load list item, pass the Item id to t
var Title = data.d.Title
我想做的是动态更改“标题部分”。以下是我目前的情况:
function LoadItem() {
//Call REST API to load list item, pass the Item id to the service
var requestUri = "../_api/web/lists/getbytitle('" + ListType + "')/items("+GlobalFormID+")";
var requestHeaders = {
"accept": "application/json;odata=verbose"
};
$.ajax({
url: requestUri,
contentType: "application/json;odata=verbose",
headers: requestHeaders,
success: onSuccess,
error: onError
});
//set each data value from the response to a variable and then set each input field to their respective items
function onSuccess(data, request) {
for (var i = 0; i < formIDs.length; i++){
var x = formIDs[i]
//Here I should display the value for that item from the data object
console.log(data.d.[x])
}
}
function onError(error) {
//alert("error");
}
}
函数LoadItem(){
//调用RESTAPI加载列表项,将项id传递给服务
var requestUri=“../\u api/web/lists/getbytitle(“+ListType+”)/items(“+GlobalFormID+”);
var requestHeaders={
“接受”:“application/json;odata=verbose”
};
$.ajax({
url:requestUri,
contentType:“application/json;odata=verbose”,
headers:requestHeaders,
成功:一旦成功,
错误:onError
});
//将响应中的每个数据值设置为一个变量,然后将每个输入字段设置为各自的项目
成功时的功能(数据、请求){
对于(变量i=0;i
我知道我不能使用data.d.[变量名],这显然是因为它的语法不正确,但我不知道还有其他方法。非常感谢您的帮助。访问属性的正确语法是:
object.property
object["property"]
自端点
http://site url/_api/web/lists/GetByTitle('<list title>')/items(<item id>)
示例
function loadListItem(webUrl, listTitle,itemId) {
var endpointUrl = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items(" + itemId + ")";
return $.ajax({
url: endpointUrl,
contentType: "application/json;odata=verbose",
headers: {
"accept": "application/json;odata=verbose"
}
});
}
loadListItem(_spPageContextInfo.webAbsoluteUrl,'Tasks',1)
.done(function(data){
console.log(data.d.Title);
})
.fail(
function(error){
console.log(error);
});
谢谢大家的意见,我明白了。在成功调用AJAX之后,我只需要执行以下操作。我使用前面定义的数组formid,并将该数组项作为键传递 成功时的功能(数据、请求){
for(变量i=0;i
尝试data.d[x](不带点)
function loadListItem(webUrl, listTitle,itemId) {
var endpointUrl = webUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items(" + itemId + ")";
return $.ajax({
url: endpointUrl,
contentType: "application/json;odata=verbose",
headers: {
"accept": "application/json;odata=verbose"
}
});
}
loadListItem(_spPageContextInfo.webAbsoluteUrl,'Tasks',1)
.done(function(data){
console.log(data.d.Title);
})
.fail(
function(error){
console.log(error);
});
for (var i = 0; i < formIDs.length; i++){
var x = formIDs[i]
$("#"+x).val(data.d[x]);
//console.log(data.d[x]);
}
}