2014-04-03 58 views
0

嗨Im试图简单的ajax请求,但我不断得到空值为jsonAJAX/json返回null打开购物车

我还在学习json和ajax的使用,所以请和我一起裸露。

这里是我的JavaScript ...

<script> 
$(document).ready(function() { 
$('#donate-box-submit').on('click', function() { 

    var donate_code = $('#charity-campaign-code').val(); 
    var donate_amount = $('#charity-campaign-amount').val(); 
    $.ajax({ 
     url: 'index.php?route=donate/donatenow', 
     type: 'post', 
     data: { 
      donate_code: donate_code, 
      donate_amount: donate_amount 
     }, 
     dataType: 'json', 
     beforeSend: function() { 

     }, 
     complete: function() { 

     },   
     success: function(json) { 
     console.log(json); 
      alert(json['test']); 
     }, 
     error: function() { 
     } 
    }); 
    }); 

}); 



</script> 

和我的PHP ...

public function donatenow() { 

    $json = array(
    'test' => 'Output this text'   
    ); 


    $this->response->setOutput(json_encode($json));  
} 

我也试图echo json_encode($json);只是为了排除任何问题与Opencart的功能,但同样的问题仍然存在。

+0

'console.log(json)'缺少一个';'在行尾:'console.log(json);'。在控制台中检查请求是否可以看到来自PHP控制器的响应? – shadyyx

+0

您声明$ json两次。删除第一个。关闭第二个'array'后面的空格。 –

+0

谢谢,我做了这些修改,但仍然显示为'null' – Adrian

回答

1

问题是您用来调用方法的路线。不确定您正在使用什么类作为控制器,但应该有三个部分的路线:route=aaa/bbb/donatenow在那里,因为你有aaa/donatenow