javascript - asp.net webservice jquery填充文本框

标签 javascript c# jquery asp.net web-services

我想通过提供当前 URL 和当前用户从网络服务中获取 3 个值。我的网络服务接受 2 个参数 URL 和用户。 Web 服务工作正常。

现在我想使用 jquery.in txtOrgCity = city、txtPin = pin、txtCountry = country 将这 3 个值放入 3 个不同的文本框中

下面是 txtOrgCity 的代码

$(document).ready(function () {
            $('#txtOrgCity').val({
                source: function (request, response) {
                    $.ajax({
                        url: '../lead_hunter.asmx/GetOrgCity',
                        method: 'post',
                        contentType: 'application/json;charset=utf-8',
                        data: JSON.stringify({ url: "http://srv3.testsrv.com/homepage", user: "testuser@testsrv.com" }),
                        dataType: 'json',
                        success: function (data) {
                            response(data.d);

                        },
                        error: function (err) {
                            alert(err);
                        }
                    });

当我运行时,它会在文本框中显示 [object object]。

我如何定义在响应(data.d)中为 txtOrgCity 获取城市,为 txtOrgPin 获取 pin,为 txtOrgCountry 获取国家/地区?

我是否需要为其他 2 个文本框或任何更好的方法复制相同的代码?

给定的代码仅适用于一些 txtbox 自动完成,它工作得很好,所以我只是希望它根据我的需要进行一些修改。 $('#txtOrgCity').val 是 $('#txtOrgCity').autocomplete

如有任何帮助,我们将不胜感激。

-- 谢谢

最佳答案

我建议您在谷歌浏览器中打开它。打开您的开发人员工具(按 f12),然后打开资源并选择您当前正在处理的页面。然后使用查找框搜索触发 ajax 的 javascript 方法,并在 ajax 调用的成功部分内放置一个断点。现在运行您的代码并等待到达断点。现在您可以看到 data.d 对象中的内容。不要恢复并继续调试。打开您的控制台选项卡并键入 data.d. 您应该会看到一个智能选项框,其中包含您的 data.d 对象中的所有变量。当您反序列化数据并将其作为 json 返回给您的 ajax 调用时,您应该以您命名它们的任何方式看到城市、pin 和国家/地区的变量。

例如,如果您在控制台中编写 data.d.city,它应该会写出相应的值。您的服务传递回浏览器的任何其他 json 变量也是如此。

有了这些信息,就可以很容易地使用 jquery 并对数据执行您想要的操作。所以在你的 ajax 调用的成功部分你可以写:

 $("#txtOrgCity").val(data.d.city);
 $("#txtPin").val(data.d.pin);
 $("#txtCountry").val(data.d.country);

附注我正在打电话。

对于您的示例,您不应该将相同的代码再写两次。不要在 jquery .val() 中调用 ajax,这是错误的。创建一个处理您的 ajax 的新函数,从页面加载或您需要的任何地方调用它:

 function loadData(//put your user parameter in here if you need){
 $.ajax({
                    url: '../lead_hunter.asmx/GetOrgCity',
                    method: 'post',
                    contentType: 'application/json;charset=utf-8',
                    data: JSON.stringify({ url: "http://srv3.testsrv.com/homepage", user: "testuser@testsrv.com" }),
                    dataType: 'json',
                    success: function (data) {                   
                         $("#txtOrgCity").val(data.d.city);
                         $("#txtPin").val(data.d.pin);
                         $("#txtCountry").val(data.d.country);                               
                     },
                    error: function (err) {
                        //welldone for handling your error message. Many people neglect this. As a developer that is like coding blindly. At the very least you can console.log(err); if you don't want the user to see
                        alert(err);
                    }
                });
 }

关于javascript - asp.net webservice jquery填充文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42633824/

相关文章:

javascript - 我的 jQuery slider 无法正常工作

c# - “error: 19 - Physical connection is not usable” 在 Azure 数据库中具有 OWIN 访问权限

javascript - jQuery 多图像预览,包含每个图像的文件名、文件大小和删除功能

jquery - 如何处理 .ajaxSubmit() 调用返回的数据?

javascript - 修改 jQueryUI 日期选择器按钮

javascript - jQuery:用其他元素替换元素?

javascript - 更改 className 问题(javascript 和 IE)

php - 显示 php 测验的结果而不重新加载页面

c# - 二进制搜索字符串数组未找到搜索的字符串 C#

c# - SignalR Owin Self-Host on Linux/Mono SocketException 当客户端失去连接时