ajax新创建json对象吗,如何构建JSON对象以发送到AJAX WebService?

在尝试使用javascript手动格式化JSON数据并失败后,我意识到可能有更好的方法。这是Web服务方法和相关类的代码在C#中的样子:

[WebMethod]

public Response ValidateAddress(Request request)

{

return new test_AddressValidation().GenerateResponse(

test_AddressValidation.ResponseType.Ambiguous);

}

...

public class Request

{

public Address Address;

}

public class Address

{

public string Address1;

public string Address2;

public string City;

public string State;

public string Zip;

public AddressClassification AddressClassification;

}

public class AddressClassification

{

public int Code;

public string Description;

}

该Web服务可以很好地使用SOAP /

XML,但是使用javascript和jQuery似乎无法获得有效的响应,因为我从服务器返回的消息存在我的手工编码JSON问题。

我不能使用jQuery getJSON函数,因为该请求需要HTTP POST,所以我改用了较低层的ajax函数:

$.ajax({

type: "POST",

contentType: "application/json; charset=utf-8",

url: "http://bmccorm-xp/HBUpsAddressValidation/AddressValidation.asmx/ValidateAddress",

data: "{\"Address\":{\"Address1\":\"123 Main Street\",\"Address2\":null,\"City\":\"New York\",\"State\":\"NY\",\"Zip\":\"10000\",\"AddressClassification\":null}}",

dataType: "json",

success: function(response){

alert(response);

}

})

该ajax函数将提交中指定的所有内容data:,这就是我的问题所在。如何在javascript中构建格式正确的JSON对象,以便将其插入到我的ajax调用中,如下所示:

data: theRequest

我最终将数据从表单的文本输入中拉出,但是现在硬编码的测试数据是可以的。

如何构建格式正确的JSON对象以发送到Web服务?

更新:事实证明,我的请求的问题不是TJ指出的JSON格式,而是我的JSON文本不符合Web服务的要求。

这是一个基于WebMethod中代码的有效JSON请求:

'{"request":{"Address":{"Address1":"123 Main Street","Address2":"suite 20","City":"New York","State":"NY","Zip":"10000","AddressClassification":null}}}'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值