【问题标题】:How to Pass values in webservice url?如何在 web 服务 url 中传递值?
【发布时间】:2016-01-19 10:54:13
【问题描述】:

我在将数据传递到 Web 服务 url 时遇到问题。这是我的代码:

var medical = $("#medicalid").val();
var password = $("#password-field").val();

$("#login").click(function () {
    var url = "http://41.128.183.109:9090/api/Data/getloginer?medid=" + medical.toString() + "&pass=" + password.toString() + "";
    $.ajax({
        url: url,
        type: 'Get',
        success: function (data) {
            if (JSON.stringify(data) != "[]") {
                window.location.href = "../maps.html";
            }
            else {
                alert("Please make sure for you data !");
            }
        },
    });
});

我想用 id 和密码制作登录页面。 medicalidpassword 是输入字段。当我将 url 用作 http://10.1.1.29:9090/api/Data/getloginer?medid=a&pass=a 时,它可以正常工作,但是当我替换输入字段的值时,它就不起作用了。请指教。谢谢。

【问题讨论】:

  • 不要将用户名和密码放在 URL 中,这总是一个坏主意。就是说,你不是 URL 编码(使用 encodeURIComponent() API)的参数,这可能会破坏 URL。

标签: javascript jquery json web-services


【解决方案1】:

您需要在点击处理程序内部检索input 元素的值。目前,您的代码在用户输入任何内容之前检索加载值。试试这个:

$("#login").click(function () {
    $.ajax({
        url: 'http://41.128.183.109:9090/api/Data/getloginer',
        type: 'GET',
        data: {
            medid: $("#medicalid").val(),
            pass: $("#password-field").val();
        },
        success: function (data) {
            if (JSON.stringify(data) != "[]") {
                window.location.href = "../maps.html";
            }
            else {
                alert("Please make sure for you data !");
            }
        }
    });
});

注意我稍微修改了逻辑,以便通过$.ajaxdata 参数提供值。这是为了确保它们被正确编码以在查询字符串中使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多