gpt4 book ai didi

asp.net - 无法使用 jQuery 从 ASP.NET Web 服务返回 JSON 对象

转载 作者:行者123 更新时间:2023-12-01 08:28:57 25 4
gpt4 key购买 nike

对于这个看似常见的问题,我找到了许多“解决方案”,但可惜的是,似乎没有一个对我有用 - 当然。我有一些 jQuery 代码试图发布到 ASP.NET 3.5 Web 服务。 Web 服务应该返回一些 json。我收到 501 Internal Server 错误,代码如下,但根据网上找到的解决方案,这应该是这样的! jquery 代码中的错误函数显示解析器错误。如果我更改数据参数传递到服务的方式 ("userID=3456"),并删除 contentType 属性并将 dataType 更改为“text”,则不会出现错误,但会返回 JSON在 XML 字符串中。

这是我的 jQuery 代码:

$.ajax({
type: "POST",
url: "mywebservice.asmx/Initialize",
data: "{'userID': '3456'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(result) {
alert("success");
},
error: function(request, status, errorThrown) {
alert(status);
alert(errorThrown);
}
});

这是我的 ASP.NET 代码:

<WebMethod()> _
Public Function Initialize(ByVal userID As Integer) As String
Dim scormInstance As New CMI(userID)
Return scormInstance.ToJsonString
End Function

以下是通过我的浏览器 (Firefox 3.5.1) 的 HTTP 请求和响应

http://localhost/cognition/webservices/cognitionapi.asmx/Initialize

POST /cognition/webservices/cognitionapi.asmx/Initialize HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)
Accept: application/json, text/javascript, */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/json; charset=utf-8
X-Requested-With: XMLHttpRequest
Referer: http://localhost/cognition/scorm-test2.html
Content-Length: 20
Cookie: RadEditorGlobalSerializeCookie=[_ctl0__ctl0__ctl0_Content_mainContent_mainContent_txtSpecialInstructionsModules]-[]#[_ctl0__ctl0__ctl0_Content_mainContent_mainContent_txtSpecialInstructionsToolbars]-[]#
Pragma: no-cache
Cache-Control: no-cache
{"userID":"1234"}

HTTP/1.x 500 Internal Server Error
Cache-Control: private
Content-Length: 4956
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 27 Jul 2009 21:24:41 GMT

关于我到底做错了什么有什么想法吗???!!!!!!???

谢谢!

最佳答案

查看了一些正在运行的代码后,我在函数上发现了这个装饰:

[WebMethod(), ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]

我传入的postdata也是Json格式,即:

var postdata = "{'variable':'value'}";

关于asp.net - 无法使用 jQuery 从 ASP.NET Web 服务返回 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1190716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com