gpt4 book ai didi

javascript - 如何将附加参数发送到 jquery ajax 中的成功函数

转载 作者:行者123 更新时间:2023-11-29 23:17:22 31 4
gpt4 key购买 nike

我有以下 Jquery 代码,我试图根据区域值在 $('.cbs-List').HTML(divHTML); 中显示信息。但是在成功的函数中,我无法读取该区域的值,它指出

'data is undefined'

在这种情况下,将参数或值传递给成功函数的正确形式是什么?

$(document).ready(function() {      
getSearchResultsREST('LA');
});

function getSearchResultsREST(region) {
var querySA = 'ClientSiteType:ClientPortal* contentclass:STS_Site Region=LA';
var queryDR = 'ClientSiteType:ClientPortal* contentclass:STS_Site Region=EM';

if(region == 'LA') {
var searchURL = _spPageContextInfo.webAbsoluteUrl + "/_api/search/query?queryText='" + querySA + "'";
} else {
var searchURL = _spPageContextInfo.webAbsoluteUrl + "/_api/search/query?queryText='" + queryDR + "'";
}

$.ajax({
url: searchURL,
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
contentType: "application/json; odata=verbose",
success: SearchResultsOnSuccess(data, region),
error: function(error) {
$('#related-content-results').html(JSON.stringify(error));
}
});
}

function SearchResultsOnSuccess(data, region) {
var results;
var divHTML = '';

if (data.d) {
results = data.d.query.PrimaryQueryResult.RelevantResults.Table.Rows.results;

if(results.length == 0) {
$('#related-content-results').html('There is No data for the requested query on ' + _spPageContextInfo.webAbsoluteUrl);
} else {
for (i=0; i<results.length; i++) {
var item = results[i];
var itemCell = item.Cells;
var itemResults = itemCell.results;

// Get values for item result
var _title = getValueByKey("Title", itemResults);
var _path = getValueByKey("Path", itemResults);

divHTML += '<li><a href=' + _path + '>' + _title + '</li>';
}

// Display information based on region.

$('.cbs-List').html(divHTML);

}
}
}

最佳答案

您有 2 个问题,它们都很容易解决。

  • 根本不需要将 region 传递到 SearchResultsOnSuccess 中。你已经可以在那里使用它了,因为它是在更高的范围内定义的。
  • 在您传递给 $.ajax 的对象中,您没有将 SearchResultsOnSuccess 设置为回调,而是调用它。

更改行:

成功:SearchResultsOnSuccess(data, region) => 成功:SearchResultsOnSuccess

function SearchResultsOnSuccess(数据,区域){ => function SearchResultsOnSuccess(数据){

它应该可以正常工作。

编辑:

这是您需要如何设置的基本示例

function search(region) {
$.ajax({
url: 'example.com',
method: 'GET',
success: successCallback,
});

function successCallback(data) {
console.log(data, region);
}
}
search('LA');

关于javascript - 如何将附加参数发送到 jquery ajax 中的成功函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52281290/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com