これは、単純なサインアップ/ログインWebアプリです。PHPサービスをWebサーバーにデプロイし、Webアプリをローカルにデプロイします。つまり、クロスドメインの質問です。クライアントコードは次のとおりです。
$.ajax(usersUrl, {
crossDomain:true,
data: params,
dataType: 'jsonp',
jsonp : "callback",
jsonpCallback: function(data) {
alert(data);
responseObject = $.parseJSON(data);
if (responseObject['success']) {
authToken = responseObject['data']['authToken'];
$.mobile.changePage('lists.html');
} else if (responseObject['error']) {
alert(responseObject['message']);
}
}
});
サインアップすると、未定義のデータが返されます。誰かが私に手を貸してくれませんか?
どうもありがとう。
[編集]サーバーコード:
$response = array();
$username = $_POST['username'];
$password = $_POST['password'];
try {
$responseData = $userAuth->login($username, $password);
if (!$responseData) {
$response['error'] = true;
$response['message'] = 'Invalid username/password combination specified. Please try again.';
} else {
$response['success'] = true;
$response['data'] = $responseData;
Logger::log('Login complete');
}
} catch (DbException $e) {
$response['error'] = true;
$response['message'] = 'An error occurred while trying to process the login request. Please try again.';
}
return $response;
そしてグローバルでは、echo json_encode($ response); お役に立てば幸いです。皆さん、ありがとうございました。