我想通过提供当前URL和当前用户从Web服务获得3个值。我的webservice接受2个参数URL和用户。 Web服务工作正常。
现在我想使用jquery.in txtOrgCity = city,在txtPin = pin,txtCountry = country
中将这3个值放在3个不同的文本框中bellow是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);
}
});
当我运行它时,在文本框中给我[对象对象]。
如何定义为txtOrgCity获取City,为txtOrgPin定位,为响应(data.d)中的txtOrgCountry获取国家/地区。?
我是否需要为其他2个文本框或更好的方法复制相同的代码。?
鉴于代码仅适用于某些txtbox自动完成,并且它完美运行,所以我只是想让它根据我的需要进行修改。 $('#txtOrgCity')。val是$('#txtOrgCity')。autocomplete
任何帮助都将不胜感激。
- 感谢
答案 0 :(得分:1)
而不是$('#txtOrgCity')。val({})
在.ready函数中首先进行AJAX调用。 存储d.OrgCity,d.OrgPin& d.OrgCountry转换为一些本地JavaScript变量。在Ajax调用成功中,使用这些值存入文本框,如
$( '#txtOrgCity')。VAL(d.OrgCity)
答案 1 :(得分:1)
我建议您在Google Chrome中打开它。打开开发人员工具(按f12键),打开资源并选择当前正在处理的页面。然后使用查找框搜索您的javascript方法,该方法触发ajax并在ajax调用的成功部分中放置一个断点。现在运行您的代码并等待达到断点。现在,您可以看到data.d对象中的内容。不要恢复并继续调试。打开控制台选项卡并键入data.d.
,您应该看到一个包含data.d对象中所有变量的intelicence选项框。当您反序列化数据并将其作为json返回到ajax调用时,您应该以任何方式查看city,pin和country的变量。
例如,如果您在控制台中编写data.d.city
,则应写出相应的值。对于您的服务传递回浏览器的任何其他json变量,情况也是如此。
使用该信息,使用jquery并使用数据执行所需操作非常容易。所以在你的ajax调用的成功部分你可以写:
$("#txtOrgCity").val(data.d.city);
$("#txtPin").val(data.d.pin);
$("#txtCountry").val(data.d.country);
P.S。我正在写电话。
对于您的示例,您不应再写两次相同的代码。不要在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);
}
});
}
答案 2 :(得分:0)
你是在JSON.stringify()之后。所以你指定你的.val()你想要.val(JSON.stringify());