jquery webmethod调用返回整页html

时间:2014-05-03 07:50:48

标签: c# jquery asp.net ajax webmethod

我有一个网站www.arabadukkan.com 我在顶部有级联组合框(araçtürü-> marka> model等)

我正在调用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响应标题是“Content-Type:text / html; charset = 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);
        }
    });
}

2 个答案:

答案 0 :(得分:0)

尝试下面的代码我想你不需要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);
        }
    });
}

答案 1 :(得分:0)

您可能需要确保已添加必要的web.config条目,特别是httpModules部分。请浏览this