Ajax不会接受数组中的json

时间:2014-07-07 12:18:48

标签: jquery ajax arrays json

我有以下代码行:

          print json_encode($organization_modules);

$organization_modules是一个如下所示的数组:

org_array

当我将此数组打印到以下Ajax时:

   $.ajax({
    type: 'POST',
    url: '/Module/findByCategory',
    dataType: 'json',
    data: {
        request: 'ajax',
        category_id: id
    },
    success: function (data) {
        $('#module_content').html('');
        $('#module_content').prepend('<div class="col-md-12"><a href="/Modules/index" class="btn btn-primary"><i class="fa fa-arrow-left"></i> Tilbage</a></div>');
        if(data.length > 0)
        {});

什么都没发生

但是,如果我打印以下内容:

working

它运作得很好吗?

它是否与空值或正在发生的事情有关?

回复正文

    <br />
<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined offset: 0 in C:\xampp\htdocs\learning-bank\site\pages\models\Module.php on line <i>43</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0290</td><td bgcolor='#eeeeec' align='right'>141200</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\xampp\htdocs\learning-bank\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0930</td><td bgcolor='#eeeeec' align='right'>202464</td><td bgcolor='#eeeeec'>Framework\Core\Classes\PageRenderer->__construct(  )</td><td title='C:\xampp\htdocs\learning-bank\index.php' bgcolor='#eeeeec'>..\index.php<b>:</b>14</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0980</td><td bgcolor='#eeeeec' align='right'>254256</td><td bgcolor='#eeeeec'>Framework\Core\Classes\PageRenderer->executeAjax(  )</td><td title='C:\xampp\htdocs\learning-bank\core\classes\PageRenderer.php' bgcolor='#eeeeec'>..\PageRenderer.php<b>:</b>55</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.1010</td><td bgcolor='#eeeeec' align='right'>324752</td><td bgcolor='#eeeeec'>Module->findByCategory(  )</td><td title='C:\xampp\htdocs\learning-bank\core\classes\PageRenderer.php' bgcolor='#eeeeec'>..\PageRenderer.php<b>:</b>302</td></tr>
</table></font>
[{"id":"1","Category_id":"1","name":"Adf\u00e6rds styring","description":"Hello world","price":"200","mentor":null,"location":null,"start_date":null,"end_date":null,"time":null,"is_online":"1","status_id":"1","Material_id":null,"is_owned":"false"}]

修正了

我修复了它,因为未定义索引而显然是php崩溃了

1 个答案:

答案 0 :(得分:1)

您的响应中有PHP错误,请尝试在PHP中关闭警告。在文件的开头添加:

error_reporting( 0 );  
ini_set( "display_errors", "0" );  

你可以获得有效的json。

或尝试在index.php的第14行修改此通知。