你好,我得到了一个用于发送html邮件的服务,它将从方法SendMail(data)中调用大约1500个字符。
我通过JQuery与AJAX调用和JSON访问服务:
var data = encodeURIComponent(JSON.stringify(dataArray));
$.ajax({
type: "GET",
url: "http://localhost:53334/Service.svc/SendMail?data=" + data,
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function () {
alert("Reklamationen er blevet sendt!");
},
error: function (err) {
alert("Kunne ikke sende reklamation! Der opstod en fejl.");
}
});
我得到了很多字段,如果我填写一切,它给出了404未找到响应,但如果我留下一些随机字段空它得到的API和执行它应该的方法?我认为这与数据大小有关。我在webconfig中尝试了许多设置,但我还没有找到解决方案。
我希望有人能帮助我。
您应该像Tikkes那样使用POST。从语义上讲,您没有从服务器请求资源,因此GET没有意义。此外,正如这里所指出的,url有一个强制的最大长度,GET使用它来传递参数(正如您在代码中看到的那样)。另一方面,POST使用请求体发送其数据。另外,正如这里提到的,POST和GET的大小通常在服务器上是可配置的,但是POST通常要大得多(2KB vs 10MB默认值),正如其中一个答案所述。