jquery - 发送 ajax 调用时出错 [内部服务器错误 500]

标签 jquery ajax http-post

我正在循环发送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 });
        }

请告诉我如何处理?

最佳答案

您必须在 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 值提供程序工厂。

关于jquery - 发送 ajax 调用时出错 [内部服务器错误 500],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20732989/

相关文章:

javascript - 将 Json 数据解码为 PHP 变量

python - 如何让 Mechanize 请求看起来像是来自真实浏览器

javascript - Scrolltop 水平起点

jquery通过id显示/隐藏多个元素

javascript - 如果选择选项是 ""想要使用 javascript 三元组,则需要显示空

java - 无法使用 javascript 提交()接缝表单

javascript - 如何在使用 jQuery AJAX 单击按钮后在 node.js 服务器上执行操作

javascript - 如何限制我的画廊一次显示的行数

java - 使用 HTTP POST 将文件上传到 S3 存储桶

ios - UICollectionView 不重新加载数据