2014-05-11 57 views
0

我试图通过单击一个按钮来创建一个事件,该按钮将提交我提供的三条信息。我的PHP脚本应该返回此事件创建成功或失败的JSON编码响应。这种反应的一个例子是:未捕获TypeError:无法读取null的属性'结果'

{ 
    "result":true, 
    "message":"Your event has been created" 
    } 

要返回这样的反应,我有我的PHP脚本执行以下操作:

$answer = array ("result" => true, "message" => "Your event has been created"); 
    return json_encode($answer); 

当我点击按钮,以在网络上创建事件页面中,Chrome中的开发人员控制台显示以下消息:Uncaught TypeError:无法读取null的属性'result'。我已经玩过了我回复那个回复的方式,但目前为止还没有成功。

仅供参考,额外的ajax代码会在接收到响应后根据错误情况决定下一步该做什么,但似乎返回响应的方式有点不妥。

编辑: Ajax代码,将处理返回的响应:

// if that response is good 
    if(response.result) { 
     $('#event-create').dialog('close'); 
     $('#calendar').fullCalendar('refetchEvents'); 
    // otherwise error 
    } else { 
    $('#error-message').html(response.message).dialog('open'); 

编辑2: 呼应它似乎解决这个问题,并没有在用户被抛出的错误。尽管如此,还有一个问题需要解决,但现在在开发人员控制台中列出。它完全相同的错误,但它无法读取null的属性“长度”。不幸的是,我不确定它在这种情况下指的是什么。

+0

显示你的Ajax查询代码,请。 –

+0

在'$ answer'变量中发送字符串true而不是布尔值 – Bryan

+0

@Bryan结果必须是布尔值。 – user2238415

回答

1

return确实在PHP不能输出任何东西,使用echo

$answer = array ("result" => true, "message" => "Your event has been created"); 
echo json_encode($answer); 
0

回声出来:

echo json_encode($answer); 
相关问题