0

login.php「 」というphpファイルを使用してユーザー名とパスワードを含むデータベースに接続するAndroidモバイルアプリケーションがあります。phpファイルの結果はJSON形式であり、次のようになります。{"username":"mounzer","password":"yaghi"} モバイルアプリケーションの場合、これはコード:

public void onClick(View v) { 
    // TODO Auto-generated method stub    
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);         
    httpclient = new DefaultHttpClient();
    // defaultHttpClient
    httpclient = new DefaultHttpClient();
    httppost = new HttpPost("http://192.168.1.38/mobileappd/Login.php");

    username=user.getText().toString();
    password=pass.getText().toString();

    try {
        nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("username",username));
        nameValuePairs.add(new BasicNameValuePair("password",username));

        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        response = httpclient.execute(httppost);

        if(response.getStatusLine().getStatusCode()==200) {
            entity=response.getEntity();    

            if(entity !=null) {
                InputStream instream=entity.getContent();
                JSONObject jsonResponse = new JSONObject(convertStreamToString(instream));
                String retUser=jsonResponse.getString("username");
                String retPass=jsonResponse.getString("password");

                if(username.equals(retUser) && password.equals(retPass)) {

                    SharedPreferences sp=getSharedPreferences("logindetails",0);
                    SharedPreferences.Editor spedit=sp.edit();
                    spedit.putString("user",username);
                    spedit.putString("pass", password);
                    spedit.commit();

                    Toast.makeText(getBaseContext(), "Succesfully connected",Toast.LENGTH_LONG).show();
                }
            }
        }
    } catch(Exception e) {  
        e.printStackTrace();
        Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
    }
}

さて、それは私に次のエラーを与えています:" org.json.JSONException:value DOCTYPE of type java.lang.string cannot be converted to JSONobject"誰かがコードのエラーがどこにあるかを知ることができますか?

4

2 に答える 2

0

ここでエラーメッセージは言う

Value `<!DOCTYPE` of type java.lang.String cannot be converted to JSONObject

もしそうなら、そう<!DOCTYPEではない{"username":….

どのような要求が行われているか、およびサーバーが HTML ドキュメントを返す理由を正確に把握する必要があります。

サーバーのログを確認してください。エラー ドキュメントである可能性があります。

于 2013-01-03T18:15:06.880 に答える
0

呼び出しているリンクから返された結果を確認してください。「値 DOCTYPE を JSONOBject に変換できません」と表示されているため、html ページが返されていると思います。そのリンクを呼び出して得られる応答を確認してください

于 2013-01-03T18:15:36.107 に答える