【问题标题】:Getting error while sending ajax call [internal server error 500]发送 ajax 调用时出错 [内部服务器错误 500]
【发布时间】:2023-03-20 18:59:01
【问题描述】:

我正在循环发送 ajax 调用。它仅适用于前两次迭代,然后抛出异常内部服务器错误 500,描述为“JSON 请求太大而无法序列化”这里是代码:

<script>
    var things = new Array();
    var total = 0;
    function Load() {
        $.ajaxSetup({ cache: true, jsonpCallback: 'quranData' }); // define ajax setup
        for (var counter = 1; counter < 4; counter++) {
            (function (counter) {
                setTimeout(function () {
                    $.getJSON("http://api.globalquran.com/surah/" + counter + "/quran-simple?jsoncallback=?", {
                        format: "jsonp"
                    }, function (Obj) {
                        $.each(Obj.quran, function (i, by)
                        {
                            $.each(by, function (verseNo, line)
                            {
                                var obj = new Object();
                                obj.surah = line.surah;
                                obj.ayah = line.ayah;
                                obj.verse = line.verse;
                                things.push(obj);
                                total++;
                            });
                        });
                    });
                }, counter * 500);
            }(counter));
        }
        return false;    
    }

服务器端:

[HttpPost]
        public ActionResult DB_Rola(List<thing> things, int count)
        {
            return Json(new { IsSuccess = true });
        }

请告诉我如何处理它?

【问题讨论】:

标签: jquery ajax http-post


【解决方案1】:

您必须在 web.config 中将 maxJsonLength 属性调整为更高的值才能解决此问题。

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization maxJsonLength="2147483644"/>
        </webServices>
    </scripting>
</system.web.extensions>

aspnet:MaxJsonDeserializerMembers 的更高值,

<appSettings>
  <add key="aspnet:MaxJsonDeserializerMembers" value="150000" />
</appSettings>

如果这些选项不起作用,您可以尝试使用此线程中指定的 JSON.NET 创建自定义 json 值提供程序工厂。

【讨论】:

  • @BaqerNaqvi 我很高兴我能提供帮助,如果这个作品将其标记为已接受,那么其他人可以看到这是正确的答案如果可以的话,请投票
  • 嘿兄弟没关系,我知道你正在进入这个:) 新年快乐
  • 兄弟新年快乐! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-06
  • 2023-03-24
  • 2012-08-14
  • 2017-04-16
  • 1970-01-01
  • 2013-05-10
  • 1970-01-01
相关资源
最近更新 更多