относительный путь для использования локального asmx - PullRequest
0 голосов
/ 07 июля 2011

В моем веб-приложении asp.net я использую локальный веб-сервис для получения данных. Система во всплывающем окне (на самом деле это еще одна страница) Итак, вот код jquery:

$(document).ready(function () {
    $('#ddlToBind').change(function () {            
        var parameter = "{'aId':'" + $("#ddl").val() + "'}";
        $.ajax({
            url: "../WebServicesASMX/PMywebserv.asmx/Test",
            data: parameter,
            dataType: "json",
            type: "POST",
            contentType: "application/json",
            success: function (data) {
                $('#ddlToBind>option').remove();
                for (var i = 0; i < data.d.length; i++) {

                    $("#ddlToBind").append("<option value='" + data.d[i].Id + "'>" + data.d[i].Name + "</option>");
                };                                       
            },
            error: function (xmlHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });

Работает хорошо, пока вы находитесь в корне сайта и после запуска скрипта на других страницах путь не верный, поэтому asmx не достигнут

Я пробовал использовать тильду "~" вместо ../, но она не работает .. url: "~/WebServicesASMX/PMywebserv.asmx/Test"

Можно ли указать путь родственников в моем скрипте jquery?

Ответы [ 2 ]

1 голос
/ 07 июля 2011

использование

<%= ResolveUrl("~/WebServicesASMX/PMywebserv.asmx/Test") %>
1 голос
/ 07 июля 2011

VirtualPathУтилита на помощь!

url: "<%= VirtualPathUtility.ToAbsolute("~/WebServicesASMX/PMywebserv.asmx/Test") %>",

См. Этот пост Рика Стрэла: http://www.west -wind.com / weblog / posts / 2009 / Dec / 21 / Определение пути ASPNET-Paths

Обратите внимание, что для этого сценарий должен находиться на странице, которая обрабатывается ASP.NET, например aspx, ascx, MVC View.Если ваш скрипт находится в обычном js-файле, вам нужно переместить его или ссылаться на глобальную переменную javascript, которую вы определили в другом месте в коде ASP.NET.

...