相关疑难解决方法(0)

如何从异步调用返回响应?

我有一个foo发出Ajax请求的函数.我怎样才能从中回复foo

我尝试从success回调中返回值,并将响应分配给函数内部的局部变量并返回该变量,但这些方法都没有实际返回响应.

function foo() {
    var result;

    $.ajax({
        url: '...',
        success: function(response) {
            result = response;
            // return response; // <- I tried that one as well
        }
    });

    return result;
}

var result = foo(); // It always ends up being `undefined`.
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery asynchronous xmlhttprequest

5208
推荐指数
38
解决办法
134万
查看次数

如何在Javascript中获取相对路径?

在我的ASP.net Web项目中,我在.js文件中编写了以下Javascript代码:

function getDeviceTypes() {
    var deviceTypes;
    $.ajax({
        async: false,
        type: "POST",
        url: "Controls/ModelSelectorWebMethods.aspx/getDeviceTypes",
        data: '{ }',
        contentType: "application/json;",
        dataType: "json",
        success: function(response) {
            deviceTypes = response.d;
        },
        error: function(xhr, status) {
            debugger;
            alert('Error getting device types.');
        }
    });    // end - $.ajax
    return deviceTypes;
}
Run Code Online (Sandbox Code Playgroud)

在我尝试将此.js文件加载到子目录中的页面之前,它工作得很好.

我们假设我的项目名称是widget.

当我在主虚拟目录中使用此代码时,Javascript解释Controls/ModelSelectorWebMethods.aspx/getDeviceTypes为意味着https://mysite.com/widget/Controls/ModelSelectorWebMethods.aspx/getDeviceTypes一切都很好.但是,从子目录中的页面,Javascript将其解释为意味着https://mysite.com/widget/subdirectory/Controls/ModelSelectorWebMethods.aspx/getDeviceTypes它不起作用.

如何编写我的Javascript代码,以便可以从我的应用程序中任何目录中的页面调用AJAX Web方法?

javascript asp.net ajax jquery

13
推荐指数
3
解决办法
5万
查看次数