gpt4 book ai didi

javascript - Select2 AJAX 不起作用

转载 作者:行者123 更新时间:2023-12-03 10:56:04 24 4
gpt4 key购买 nike

这是网络方法,我之前用它来做另一件事,并且它有效:

[WebMethod]
public static string GetTests()
{
return GetData().GetXml();
}

public static DataSet GetData()
{
DataSet ds = new DataSet();
BusinessLayer.StudentsController oStudent = new BusinessLayer.StudentsController();
oStudent.Action = "page";
oStudent.PageIndex = 0;
oStudent.PageSize = int.Parse(System.Configuration.ConfigurationManager.AppSettings["PageSize"].ToString());
DataTable dt1 = oStudent.Select();
DataTable dt2 = dt1.Copy();
dt2.TableName = "Students";
ds.Tables.Add(dt2);
DataTable dt = new DataTable("PageCount");
dt.Columns.Add("PageCount");
dt.Rows.Add();
dt.Rows[0][0] = oStudent.PageCount;
ds.Tables.Add(dt);
return ds;
}

JavaScript:

$('#selectDynamic1').select2({
placeholder: "Search for a movie",
minimumInputLength: 1,
multiple: true,
ajax: {
url: "Default.aspx/GetTests",
type: 'POST',
params: {
contentType: 'application/json; charset=utf-8'
},
dataType: 'json',
data: function (term, page) {
return JSON.stringify({ q: term, page_limit: 10 });
},
results: function (data) {
return {results: data};
},
},
formatResult: formatResult,
formatSelection: formatSelection,
/*initSelection: function(element, callback) {
var data = [];
$(element.val().split(",")).each(function(i) {
var item = this.split(':');
data.push({
id: item[0],
title: item[1]
});
});
//$(element).val('');
callback(data);
}*/
});


function formatResult(node) {
alert('');
return '<div>' + node.id + '</div>';
};

function formatSelection(node) {
alert('');
return node.id;
};

请帮忙,GetTests 甚至没有触发,我想让学生通过 SQL 然后填充 select2。

最佳答案

首先,您应该将 HTTP 谓词更改为 GET,因为您没有将数据发送到服务器,而是希望从中获取数据:

ajax: {
...
type: 'GET',
...
}

其次,您期望从服务器获得 JSON,但在 GetData 方法中,您正在创建一个 XML 文档 - 至少代码传达了这一点。这可能是您的代码无法工作的原因之一。

关于javascript - Select2 AJAX 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28263248/

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