gpt4 book ai didi

Mac 上的 Firefox 中的 JQuery AJAX 错误,用户数为 "Managed"

转载 作者:行者123 更新时间:2023-12-01 05:05:11 24 4
gpt4 key购买 nike

我在 Mac (OS-10.5) 上的 Firefox(3.6.13 至 4.x)中进行 JQuery AJAX 调用时遇到问题。仅当用户处于“家长控制管理”状态时才会出现此问题。 “标准”或“管理员”用户不会发生这种情况,任何用户在 Safari 或 Chrome 中也不会发生这种情况。在 Windows 环境中任何地方都不会出现此问题。

我有一个简单的 ASP.NET 页面 (ASPX),它调用一个简单的 ASP.NET Web 服务 (ASMX)。返回的错误信息为:

异常类型:System.ArgumentException消息:传入的对象无效,应为“:”或“}”。 (23): { '数据' : '某事'Pr堆栈跟踪:位于 System.Web.Script。Serialization.JavaScriptObjectDeserializer.DeserializeDictionary(Int32深度)在System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32深度)在System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串输入,Int32深度限制,JavaScriptSerializer序列化器)在System. Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](字符串输入)位于 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext 上下文,WebServiceMethodData methodData)

此错误是在 JSON 反序列化期间发生的,但实际上并未进入服务方法。请注意,字母“Pr”被插入到正在传递的 JSON 对象中,并且省略了尾部大括号(从而导致错误):“{ 'data' : 'something'Pr”。当我在 Firebug 中检查帖子时,字母“Pr”没有出现在帖子中。

对我来说,这看起来像是 Firefox 中的一个错误。有什么想法吗?

代码如下:

网络服务:

using System;
using System.Web;
using System.Web.Services;

namespace TestWebApp
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class MacAjaxTestService : System.Web.Services.WebService
{
[WebMethod]
public string TestServiceCall(string data)
{
return "Data Received = '" + data + "'.";
}
}
}

ASPX 页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MacAjaxTest.aspx.cs" Inherits="TestWebApp.MacAjaxTest" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>MAC AJAX TEST</title>
<script language="javascript" type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.min.js"></script>
<script type="text/javascript" language="javascript">

$(function ()
{
$("#TestButton").button().click(TestButton_Click);
$("#TestText").focus();
$("#ResultsDiv").text("").css({ "border": "solid 1px #999999", "width": "600px", "min-height": "100px" });
});

function TestButton_Click()
{
$("#ResultsDiv").text("");
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "MacAjaxTestService.asmx/TestServiceCall",
data: "{ 'data' : '" + $("#TestText").val() + "' }",
dataType: "json",
success: function (data)
{
$("#ResultsDiv").text(data.d);
},
error: function (jqXHR, textStatus, errorThrown)
{
//be sure customErrors mode="Off" in web.config.
var error = $.parseJSON(jqXHR.responseText);
var msg = "Exception Type: " + error.ExceptionType + "<br />"
+ "Message: " + error.Message + "<br />";

if (error.StackTrace != null && error.StackTrace.length > 0)
msg += "Stack Trace: " + error.StackTrace;

$("#ResultsDiv").html(msg);
}
});
}

</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>MAC AJAX TEST</h2>
<br />
<input type="text" id="TestText" />
<input type="button" id="TestButton" value="Test" />
<br /><br /><br />
Results:
<br />
<div id="ResultsDiv"></div>
</div>
</form>
</body>
</html>

最佳答案

看起来这是 Firefox/MacOS 中长期存在的错误

https://bugzilla.mozilla.org/show_bug.cgi?id=489575

关于Mac 上的 Firefox 中的 JQuery AJAX 错误,用户数为 "Managed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585660/

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