WCF服务没有正确解析jsonP参数

本文关键字:jsonP 参数 服务 WCF | 更新日期: 2023-09-27 17:49:01

我正在发送这样一个电话:

$.ajax({
            url: myURL+functionName,
            contentType: "application/json; charset=utf-8", //also tried application/javascript
            cache: false,
            dataType: "jsonp",
            data: parameter,
            success:function(response){
                alert("great success!");
            },
            error:function(error) {alert("boo-urns");}

这很好,一切看起来都应该这样。形参对象的值是这样的:

{ac:"a8d8e6ef-5907-4978-11cf-39add52b996c",
date:"20160626",
deviceId:"W-eXXX9680-13X3-9317-f1b3-eXXXXe50",
komponenten:Array[5],
menu_kf_nr:1,
mz_nr:"3",
pt_kf_nr:1,
pt_nr:"311701",
sessionId:"b22bXXX6-20XX-4XXX-9ed6-0dXXb297"}

服务器端方法:

public bool functionName(string ac, string date, string deviceId, List<komponenten> komponenten, int? menu_kf_nr, string mz_nr, int pt_kf_nr, string pt_nr, string sessionId) {
    //do stuff with the data 
}

然后在服务器端,虽然我的参数只如下所示:

ac  "a8d8e6ef-5907-4978-11cf-39add52b996c"  string
date    "20160626"  string
deviceId    null    string
komponenten null    System.Collections.Generic.List<kompnenten>
menu_kf_nr  null    int?
mz_nr   "3" string
pt_kf_nr    1   int
pt_nr   "311701"    string
sessionId   null    string

谁能告诉我我需要在哪里看,以消除null ?

Thanks in advance

WCF服务没有正确解析jsonP参数

您应该在aJax调用中单独传递参数,同时,c#端可能希望接收JSON数据。

查看这里,了解如何在aJax调用中传递多个参数。

注意被接受的答案的第二部分,使用JSON.Stringify