0

これは、単純なサインアップ/ログイン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); お役に立てば幸いです。皆さん、ありがとうございました。

4

0 に答える 0