簡體   English   中英

解析數據org.json.JSONException的另一個錯誤:值

[英]Another Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

我正在為此扯頭發。 我可以用相同的代碼寫入數據庫(可能是INSERT INTO命令),但這不起作用。

PHP:

$id = $_POST['id'];
//$id = '000000000002';
$uri = $_POST['uri'];
//$uri='sdfgdsfg';
try {

    $stmt = $conn->prepare("UPDATE USERS SET PHOTO=? WHERE ID=?");
    $stmt->execute(array($uri, $id));
    $response["success"] = 1;
    } catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
    $response["success"] = 0;
}

echo json_encode($response);

JAVA:

try {
                        paramsC = new ArrayList<NameValuePair>();
                        paramsC.add(new BasicNameValuePair("id", userid));
                        paramsC.add(new BasicNameValuePair("uri", "hello"));

                        JSONParser jsonParser; jsonParser = new JSONParser();
                        JSONObject json = jsonParser.makeHttpRequest(set_profile_photo_uri, "POST", paramsC);

                        try {
                            int success = json.getInt("success"); //error points to this line
                            if (success == 1) {
                                // successfully updated
                                Log.d("SIGNUP", "success");
                            } else {
                                Log.d("SIGNUP", "fail");
                            }
                        }catch(JSONException e){
                            //Log.e("log_tag", "Error parsing data "+e.toString());
                            //Log.e("log_tag", "Failed data was:\n");
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }

我收到一個錯誤:

02-17 21:37:45.104: E/JSON Parser(21276): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
02-17 21:37:45.104: W/System.err(21276): java.lang.NullPointerException
02-17 21:37:45.124: W/System.err(21276):    at com.example.myapp.TabFragment1$8.onClick(TabFragment1.java:171)

但是,此代碼有效,但是為什么?:

try {
        $stmt = $conn->prepare("INSERT INTO USERS (USERNAME, PASSWORD, NAME, EMAIL, GENDER, DATEOFREG_PHONE, DATEOFREG_SV) VALUES
        (:username, :password, :name, :email, :gender, :dateofreg_phone, :dateofreg_sv)");
            $query_params = array( 
                ':username' => $username,
                ':password' => $password,
                ':name' => $name,
                ':email' => $email,
                ':gender' => $gender,
                ':dateofreg_phone' => $dateofreg_phone,
                ':dateofreg_sv' => $dateofreg_sv
            );  
        $stmt->execute($query_params); 
        $response["success"] = 1;
        } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
        $response["success"] = 0;
    }

    echo json_encode($response);

當我將其輸入瀏覽器時,PHP代碼可以正常工作。

通過評論回答這個問題,以確保解決此問題:確保將查詢發送到正確的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM