[英]php return from ajax call is empty
我用ajax調用php函數,但是我從php函數返回的內容為空?
這是我的ajax電話:
showEvent : function(eventId){
$.ajax({
type: "POST",
url: "routing.php?page=Events&action=showEvent",
data : {event_id :eventId},
dataType : "text",
success: function(data){
console.log(data);
$('#showEvent').modal("show");
$('#showClickedEvent').children("tr").val("test");
},
error: function(xhr,status,e){
console.log(xhr);
console.log(status);
console.log(e);
}
});
}
和hier我的PHP功能:
function call($page,$action){
require_once("Controller/".$page."Controller.php");
$request = array_merge($_GET,$_POST);
switch($page)
{
case "Index":
switch($action)
{
case "home":
return IndexController::home();
break;
case "login":
return IndexController::login();
break;
}
case "Events":
switch($action)
{
case "createEvent":
return EventsController::createEvent();
break;
case "setEvent":
EventsService::setEvent($request["homepartyName"],$request["date"],$request["musicDirection"],
$request["ageFrom"],$request["ageTo"],$request["maxPersons"],$request["country"],$request["city"],$_COOKIE["facebook_id"]);
break;
case "showEvents":
break;
case "myEvents":
return EventsController::myEvents();
break;
case "showEvent":
return EventsService::getEvent($request["event_id"]);
break;
}
case "User":
switch($action)
{
case "createUser":
UserService::setUser($request["facebookData"]);
break;
case "logoutUser":
UserController::logoutUser();
break;
}
}
}
此方法由我的Eventservice調用:
public static function getEvent($id){
$db = parent::getInstance();
$stmt = "SELECT * FROM events WHERE id = ".$id."";
$event = $db->query($stmt)->fetch_all(MYSQLI_ASSOC) or die($db->error);
header('Content-Type: application/json; charset=utf8');
return json_encode($event);
}
我不知道為什么退貨是空的:/
請在ajax函數中更改dataType:'JSON' ,因為我們試圖從ajax響應而不是文本中獲取JSON。
還可以使用exit(json_encode($ event))而不是返回json_encode($ event)來獲取正確的json響應。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.