2015-02-24 113 views
0

我正在转换旧的MSAccess mdb。 我试图把数据从服务器放入一个二维数组中,我想我错了。是否有ajax邮寄大小限制?

这是从jQuery线主页

$.ajax({ 
    url: "clientlist.php", 
    type : "post", 
    success: function(result){ 
     $("#div1").html(result); 
    } 
}); 

我只是用#div显示之前,我尝试将数据放入阵列上。

而且从 'clientlist.php' 在 '#div1的'

$sql = "select * from tblContactTypes"; // 12 records 
$records = mysqli_query($conn, $sql) or die("Error in the consult.." . mysqli_error($conn)); 

$rows = array(); 
while ($row = mysqli_fetch_assoc($records)) { 
    $rows[] = $row; 
} 

echo json_encode($rows); 

输出

[ 
{"ContactTypeID":"1","ContactType":"Personal"}, 
{"ContactTypeID":"2","ContactType":"Estate Agents"}, 
{"ContactTypeID":"3","ContactType":"Clients"}, 
{"ContactTypeID":"4","ContactType":"Suppliers"}, 

所有工作正常,直到我尝试更大的表即。 (php)

$sql = "select * from tblContacts"; //900 records 

这只是行不通的! 我试过POST和GET,但在较大的表上控制台响应始终为空。 有11个表格有不同数量的记录。 它适用于较小的表格,但它甚至不会使用217个记录和11个字段的表格!

我一直在阅读S/O和其他论坛的答案,并有'配置'文件的建议, 但'来吧'不是一个可怜的200记录!

当然,这不是一个'大小'的问题,但我想不出还有什么?

=============================================

不知道这应该是 '编辑' 或 '答案'
我使用的XAMPP在Win 7
我改变从php.ini中......

post_max_size=8M 

到...

post_max_size=200M 

我尝试了8M - 200M之间的几个数量,但这个di似乎不会影响事情。 我一半通过减少SQL领域的数量和 '限制' 从

更改播放解决的事情...

$sql = "select * from tblContacts"; 

到...

$sql = "select ContactID, ContactName from tblContacts limit 700"; 

和。 ..

$sql = "select ContactName from tblContacts"; 

在PHP错误日志中没有任何用处。 接下来我要做的就是看'错误报告'。 ........

我在使用JQuery Autocomplete后遇到了这个问题。 http://jqueryui.com/autocomplete/
这里的数据是硬编码的,非常小。 (我不知道我选择了哪一个,或者我会发布一个链接,但有很多外部链接)
我选择的一个叫做服务器(通过ajax )在输入框中的每个'键入'!
这似乎是不必要的流量,所以我想我会试图抓住一个数组中的很多,然后使用这个数组进行自动完成搜索。
这就是我现在所处的位置。

我刚转过头来原代码,发现了ajax调用使用“喜欢”一个SQL ...

$sql = "SELECT contactid,contactname,surname FROM tblcontacts WHERE contactname LIKE (:keyword)"; 

“:关键词”是“通过Ajax Post'ed和来自输入框。
明显少了很多流量,所以这一切都发生得很快。

我现在觉得我对'不必要的流量'的评论可能是错误的。 对于所有这些东西,我仍然很新,所以对于那些更有经验的人的任何评论都会受到欢迎。
谢谢。

+1

http本身没有实际的限制。 SERVER可以设置总邮寄大小和每字段大小的限制,但这取决于服务器管理员的设置。当然,也许你会遇到php内存限制 - 也许你的900条记录包含的blob实际上会占用500GB。 – 2015-02-24 15:31:19

回答

1

这是一个服务器配置。如果你在Linux下使用PHP或类似的工具,你可以使用.htaccess来控制它们,如下所示:

#set max post size 
php_value post_max_size 20M 
+0

或直接在'php.ini'文件中。打开错误报告和显示错误可能有助于调试,如果它是服务器端错误。或者访问PHP错误日志。 – TiMESPLiNTER 2015-02-24 15:38:51