Jquery webmethod调用返回整个页面html
本文关键字:html webmethod 调用 返回 Jquery | 更新日期: 2023-09-27 18:01:41
我有一个网站www.arabadukkan.com我有层叠组合框在顶部(araç türü->marka->模型等)
我正在调用一个webmethod返回结果,但结果是整个页面的html。这段代码在我的本地工作得很好WebMethod代码:
public static string GetMarkas(string selectedId)
{
var items = Service.DS.GetMarkas().WithCategoryId(selectedId.SayiVer());
string donen = "<option value=''>Tüm Markalar...</option>";
foreach (var item in items) donen += string.Format("<option value='{0}'>{1}</option>", item.id, item.Title);
return donen;
}
我找不到任何解决办法。当我在chrome中查看网络选项卡时,我看到GetMarkas响应头是"内容类型:text/html;utf - 8字符集= " 我的脚本是:
function GetCombo(fromCombo, toCombo, method) {
var veriler = {
selectedId: $(fromCombo).val()
};
$(toCombo).find('option').remove().end().append("<option value='0'>Yükleniyor...</option>");
$.ajax({
type: "POST",
url: ResolveUrl('~/wm.aspx/') + method,
data: $.toJSON(veriler),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$(toCombo).find('option').remove().end().append(msg.d);
$(toCombo).trigger("change");
},
error: function (msg, x, error) {
alert("Hata Oluştu." + error);
}
});
}
试试下面的代码,我猜这里不需要json .
function GetCombo(fromCombo, toCombo, method) {
var veriler = {
selectedId: $(fromCombo).val()
};
$(toCombo).find('option').remove().end().append("<option value='0'>Yükleniyor...</option>");
$.ajax({
type: "POST",
url: ResolveUrl('~/wm.aspx/') + method,
data: { selectedId : veriler},
dataType: 'html',
success: function (msg) {
$(toCombo).find('option').remove().end().append(msg.d);
$(toCombo).trigger("change");
},
error: function (msg, x, error) {
alert("Hata Oluştu." + error);
}
});
}
你可能想要确保你已经添加了必要的web。配置项,特别是httpModules部分。