用url作为变量的ajax请求不起作用

时间:2017-05-29 21:43:10

标签: javascript jquery ajax

我有两个AJAX请求,两个都在检查是否有没有奖励积分的新评级。

如果我通过 localhost:8080 ip-address:8080 访问我的应用程序并不重要,这两个web服务都带有映射“/ nextRating “正在提供一个评级(如果有的话)。

如果请求成功,我创建了两个全局变量 url1 url2 ,一个用于webservice,一个用于站点,应该加载。

函数中的第二个请求正常工作。

第一个没有,我只是想不出原因。

function checkForNewRating() 
{
  //Extracts the Ip from the url, if accessed via IP:8080/...
    getIp();

    if (ip != null) {
        url1 =  ip.toString() + ":8080/feedback/nextRating";
        url2 = ip.toString() + ":8080/feedback/app";

        $.ajax({
            type: "GET",
            url: url1,
            dataType: "json",
            success: function (data) {
                console.log(data);
                window.location.assign(url2);
            },
            error: function () 
            {
                console.log(window.location.href);
            }
        })
    }
    else {
        $.ajax({
            type: "GET",
            url: "http://localhost:8080/feedback/nextRating",
            dataType: "json",
            success: function (data) {
                console.log(data);
                window.location.assign("http://localhost:8080/feedback/app");
            },
            error: function () {
                console.log(window.location.href);
            }
        })
    }
}

请求的代码

function getIp() {
  if (href.includes("192.168.")) {
        var startIndex = href.indexOf("1");
        var endIndex = href.indexOf(":8")
        ip = href.substring(startIndex, endIndex);
    }
}

此功能正常,网址变量设置正确

1 个答案:

答案 0 :(得分:0)

也许你应该返回值

function getIp() {
  if (href.includes("192.168.")) {
        var startIndex = href.indexOf("1");
        var endIndex = href.indexOf(":8")
        ip = href.substring(startIndex, endIndex);
    }
  return ip;
}

在上面的函数中得到像

这样的值
function checkForNewRating() 
{
  //Extracts the Ip from the url, if accessed via IP:8080/...
    var ip = getIp();