1

SafariとFirefoxでは、コードの応答部分が機能していません(つまり、PHP-> Ajax-> jQueryから)。変数は間違いなくPHPにうまく対応してmail()いるので(を使用してテスト)、おそらく私に代わっていくつかの小さなエラーです!

jQuery:

$.ajax({
    type: "POST",
    dataType: "json",
    data: postData,
    url: "http://www.kudiclub.com/test/login/?loginsub",
    success: function(data){
        if(data.success==false){
            $("#login .error").html(data.reply).show();
            $("#login-email").val(data.email);
            $("#password").val("");
        }else{
            window.location = data.ref;
        }
    }
});

PHP:

$data = array('success' => false, 'reply' => 'Username and password did not match.', 'email' => $email);
print json_encode($data);
return;

誰かが助けてくれることを願っています。ありがとう、ニック。

解決

多くのことをいじった後、相対パスとして完全なURLが表示されないことがわかりました。に変更するurl'/test/login/?loginsub'、トリックが実行されました。

4

1 に答える 1

0

サーバーは言う: Content-Type: text/html. json ドキュメントではありません (application/json)。

http://www.kudiclub.com/test/login/?loginsub

GET /test/login/?loginsub HTTP/1.1
Host: www.kudiclub.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Cookie: PHPSESSID=060b8210adfb3c67ff792b9471c7fa1c
Cache-Control: max-age=0

HTTP/1.1 200 OK
Date: Thu, 02 Aug 2012 22:12:10 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=2, max=200
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
于 2012-08-02T22:14:10.873 に答える