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);
        }
    });
}

Jquery webmethod调用返回整个页面html

试试下面的代码,我猜这里不需要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部分。