[web-services] 无效的JSON基元:id


Answers

我现在解决了这个问题。

您需要以这种格式传递网址:

http://domain.com.br/service.asmx/method?objParam= {q:“search”}

在你的service.asmx文件中,你需要声明这个方法:

Public Function method(objParam As Dictionary(Of String, String)) 

End Function

在你的代码中,看起来像:

function getVentID(id) {
  var jsdata = {
    "id": +id
  }
  var sData = JSON.stringify(jsdata); //convert your json in string
  $.ajax({
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    url: 'services/UserService.asmx/getVentID',
    data: {
      id: sData
    },
    dataType: 'json',
    success: function(msg) {
      alert(msg.d);
    },
    error: function(a, b, c) {
      alert('Error: ' + a.toString() + ' ' + b.toString() + " " + c.toString());
    }
  });
}

Question

我不能得到以下功能正常工作。 它似乎是序列化它错了。 这是关于不同数据变体的第5次迭代。 我最初只是在做数据:{'id':id}就像我在使用WCF的工作,但与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());
        }
    });
}

ps我知道有10个相同的问题,但他们没有答案,我可以找到或为我工作。




Links