Web服务 – 无效的JSON原语:id

前端之家收集整理的这篇文章主要介绍了Web服务 – 无效的JSON原语:id前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法使以下功能正常工作.似乎是序列化它错了.这是关于不同数据变体的第5次迭代.我最初只是像在WCF上工作的那样做数据:{‘id’:id},但是与ASMX一样,它不工作.看起来它将数据串行化为id = 1234而不是id:1234,但我对此很新.任何帮助将不胜感激.哦,我可以直接在浏览器中调用服务,并且正确地返回数据,所以我知道这不是服务.
function getVentID(id) {
    //look up id in database and get VentID
    alert('id: ' + id);
    var jsdata = { "id": + id}
    $.ajax({
        type: 'POST',contentType: 'application/json; charset=utf-8',url: 'services/UserService.asmx/getVentID',data: jsdata,dataType: 'json',success: function (msg) {
            alert(msg.d);
        },error: function (a,b,c) {
            alert('Error: ' + a.toString() + ' ' + b.toString() + " " + c.toString());
        }
    });
}

附:我知道有10个相同的问题,但没有一个可以找到或者对我有用的答案.

解决方法

最简单的修复方法是将开始var jsdata的行更改为:
var jsdata = '{id:' + id + '}';

问题是jQuery将jsdata编码为表单数据,而不是json. dataType参数影响响应如何解析,而不是如何对POST数据进行编码.

据我所知,jQuery中没有任何JSON序列化代码.显然是John Resig suggests using Douglas Crockford’s json2.js.

要使用它,请为json.js添加脚本引用,然后:

var jstext = JSON.stringify(jsdata,null,2);
原文链接:https://www.f2er.com/html/230128.html

猜你在找的HTML相关文章