Php Android/JSON:org.JSON.JSONException:java.lang.String类型的值无法转换为JSONObject
当我尝试使用托管在Php Android/JSON:org.JSON.JSONException:java.lang.String类型的值无法转换为JSONObject,php,android,mysql,json,sqlite,Php,Android,Mysql,Json,Sqlite,当我尝试使用托管在00webhost.com上的PHP脚本将我的SQLiteDB的内容上载到相应的MYSQL数据库时,我在标题中遇到了错误。 我还收到了toast输出:“上传时出错。请稍后重试。”这表明正在调用LongOperation类(如下所示) 我问了一个非常类似的问题,问题是登录详细信息不正确。但是,对于这个脚本,情况并非如此 下面的代码有什么问题 步骤1:在onCreate()中从SQLite数据库获取值 上面调用的UploadDataAuto方法: public void Uploa
00webhost.com上的PHP
脚本将我的SQLite
DB的内容上载到相应的MYSQL
数据库时,我在标题中遇到了错误。
我还收到了toast输出:“上传时出错。请稍后重试。”
这表明正在调用LongOperation
类(如下所示)
我问了一个非常类似的问题,问题是登录详细信息不正确。但是,对于这个脚本,情况并非如此
下面的代码有什么问题
步骤1:在onCreate()中从SQLite数据库获取值
上面调用的UploadDataAuto方法:
public void UploadDataAuto(String sessionId, String game, String name,
Integer score, Integer avgAttn, Integer avgMed, Integer maxAttn,
Integer maxMed, String date){
// Defined URL where to send data
String ServerUrl = "http://ry.net16.net/gameRegistration.php?sessionId="
+ sessionId
+ "&game="
+ game
+ "&name="
+ name
+ "&avgMed="
+ avgMed
+ "&maxMed="
+ maxMed
+ "&avgAttn="
+ avgAttn
+ "&maxAttn="
+ maxAttn
+ "&score="
+ score
+ "&date="
+ date
+ "";
LongOperation longOperation = new LongOperation();
longOperation.sessionId = sessionId;
longOperation.execute(ServerUrl);
}
private class LongOperation extends AsyncTask<String, String, Void> {
// Required initialization
private final HttpClient Client = new DefaultHttpClient();
private String Content;
private String Error = null;
private ProgressDialog Dialog = new ProgressDialog(LoginHome.this);
String data = "";
int sizeData = 0;
public String sessionId = "";
protected void onPreExecute() {
// NOTE: You can call UI Element here.
// Start Progress Dialog (Message)
Dialog.setMessage("Please wait.. Data is uploading .");
Dialog.show();
}
// Call after onPreExecute method
protected Void doInBackground(String... urls) {
/************ Make Post Call To Web Server ***********/
BufferedReader reader = null;
// Send data
try {
// Defined URL where to send data
URL url = new URL(urls[0]);
// Send POST data request
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the server response
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
// Append server response in string
sb.append(line + "");
}
// Append Server Response To Content String
Content = sb.toString();
} catch (Exception ex) {
Error = ex.getMessage();
} finally {
try {
reader.close();
}
catch (Exception ex) {
}
}
/*****************************************************/
return null;
}
protected void onPostExecute(Void unused) {
// NOTE: You can call UI Element here.
// Close progress dialog
Dialog.dismiss();
if (Error != null) {
// uiUpdate.setText("Output : "+Error);
} else {
// Show Response Json On Screen (activity)
// uiUpdate.setText( Content );
/****************** Start Parse Response JSON Data *************/
String OutputData = "";
JSONObject jsonResponse;
try {
/******
* Creates a new JSONObject with name/value mappings from
* the JSON string.
********/
jsonResponse = new JSONObject(Content);
String result = jsonResponse.get("result").toString();
if (result.equals("true")) {
//loginDataBaseAdapter.deleteUploadedRecord(sessionId);
Toast.makeText(LoginHome.this,
"Data is successfully uploaded.",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(
LoginHome.this,
"Error while uploading. Please try again later.",
Toast.LENGTH_LONG).show();
}
}
/****************** End Parse Response JSON Data *************/
catch (JSONException e) {
e.printStackTrace();
}
}
}
}
<?php
if(isset($_GET['sessionId']) && isset($_GET['game']) && isset($_GET['name']) && isset($_GET['avgMed']) && isset($_GET['maxMed']) && isset($_GET['avgAttn']) && isset($_GET['maxAttn']) && isset($_GET['score']) && isset($_GET['date']) )
{
$mysql_host = "";
$mysql_database = "";
$mysql_user = "";
$mysql_password = "";
// Provide host ip, mysql user name, password
$con = mysql_connect($mysql_host,$mysql_user,$mysql_password);
// Provide database name.
mysql_select_db($mysql_database);
$sessionId=$_GET['sessionId'];
$game=$_GET['game'];
$name=$_GET['name'];
$avgMed=$_GET['avgMed'];
$maxMed=$_GET['maxMed'];
$avgAttn=$_GET['avgAttn'];
$maxAttn=$_GET['maxAttn'];
$score=$_GET['score'];
$date=$_GET['date'];
$flag="false";
if(!empty($game) && !empty($name) && !empty($date) && !empty($sessionId))
{
$sql="Insert into `GameDetails` (`SessionId`,`game`,`name`,`AvgMediation`,`MaxMediation`,`AvgAttention` ,`MaxAttention`,`Score`,`Date`) values ('$sessionId','$game','$name','$avgMed','$maxMed','$avgAttn','$maxAttn','$score','$date') ";
$result=mysql_query($sql);
if($result)
{
$count= mysql_affected_rows();
if($count > 0)
{
$flag="true"; //result true
}
}
mysql_close($con);
echo json_encode(array("result"=>$flag));
}
}
?>
08-15 22:48:10.907: W/System.err(20233): org.json.JSONException: Value <!-- of type java.lang.String cannot be converted to JSONObject
08-15 22:48:10.907: W/System.err(20233): at org.json.JSON.typeMismatch(JSON.java:111)
08-15 22:48:10.907: W/System.err(20233): at org.json.JSONObject.<init>(JSONObject.java:159)
08-15 22:48:10.907: W/System.err(20233): at org.json.JSONObject.<init>(JSONObject.java:172)
08-15 22:48:10.907: W/System.err(20233): at com.example.brianapp.LoginHome$LongOperation.onPostExecute(LoginHome.java:259)
08-15 22:48:10.907: W/System.err(20233): at com.example.brianapp.LoginHome$LongOperation.onPostExecute(LoginHome.java:1)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask.finish(AsyncTask.java:632)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask.access$600(AsyncTask.java:177)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
08-15 22:48:10.907: W/System.err(20233): at android.os.Handler.dispatchMessage(Handler.java:102)
08-15 22:48:10.907: W/System.err(20233): at android.os.Looper.loop(Looper.java:157)
08-15 22:48:10.907: W/System.err(20233): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-15 22:48:10.907: W/System.err(20233): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 22:48:10.907: W/System.err(20233): at java.lang.reflect.Method.invoke(Method.java:515)
08-15 22:48:10.907: W/System.err(20233): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-15 22:48:10.907: W/System.err(20233): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-15 22:48:10.907: W/System.err(20233): at dalvik.system.NativeStart.main(Native Method)
私有类LongOperation(在上面的方法中调用):
public void UploadDataAuto(String sessionId, String game, String name,
Integer score, Integer avgAttn, Integer avgMed, Integer maxAttn,
Integer maxMed, String date){
// Defined URL where to send data
String ServerUrl = "http://ry.net16.net/gameRegistration.php?sessionId="
+ sessionId
+ "&game="
+ game
+ "&name="
+ name
+ "&avgMed="
+ avgMed
+ "&maxMed="
+ maxMed
+ "&avgAttn="
+ avgAttn
+ "&maxAttn="
+ maxAttn
+ "&score="
+ score
+ "&date="
+ date
+ "";
LongOperation longOperation = new LongOperation();
longOperation.sessionId = sessionId;
longOperation.execute(ServerUrl);
}
private class LongOperation extends AsyncTask<String, String, Void> {
// Required initialization
private final HttpClient Client = new DefaultHttpClient();
private String Content;
private String Error = null;
private ProgressDialog Dialog = new ProgressDialog(LoginHome.this);
String data = "";
int sizeData = 0;
public String sessionId = "";
protected void onPreExecute() {
// NOTE: You can call UI Element here.
// Start Progress Dialog (Message)
Dialog.setMessage("Please wait.. Data is uploading .");
Dialog.show();
}
// Call after onPreExecute method
protected Void doInBackground(String... urls) {
/************ Make Post Call To Web Server ***********/
BufferedReader reader = null;
// Send data
try {
// Defined URL where to send data
URL url = new URL(urls[0]);
// Send POST data request
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the server response
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
// Append server response in string
sb.append(line + "");
}
// Append Server Response To Content String
Content = sb.toString();
} catch (Exception ex) {
Error = ex.getMessage();
} finally {
try {
reader.close();
}
catch (Exception ex) {
}
}
/*****************************************************/
return null;
}
protected void onPostExecute(Void unused) {
// NOTE: You can call UI Element here.
// Close progress dialog
Dialog.dismiss();
if (Error != null) {
// uiUpdate.setText("Output : "+Error);
} else {
// Show Response Json On Screen (activity)
// uiUpdate.setText( Content );
/****************** Start Parse Response JSON Data *************/
String OutputData = "";
JSONObject jsonResponse;
try {
/******
* Creates a new JSONObject with name/value mappings from
* the JSON string.
********/
jsonResponse = new JSONObject(Content);
String result = jsonResponse.get("result").toString();
if (result.equals("true")) {
//loginDataBaseAdapter.deleteUploadedRecord(sessionId);
Toast.makeText(LoginHome.this,
"Data is successfully uploaded.",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(
LoginHome.this,
"Error while uploading. Please try again later.",
Toast.LENGTH_LONG).show();
}
}
/****************** End Parse Response JSON Data *************/
catch (JSONException e) {
e.printStackTrace();
}
}
}
}
<?php
if(isset($_GET['sessionId']) && isset($_GET['game']) && isset($_GET['name']) && isset($_GET['avgMed']) && isset($_GET['maxMed']) && isset($_GET['avgAttn']) && isset($_GET['maxAttn']) && isset($_GET['score']) && isset($_GET['date']) )
{
$mysql_host = "";
$mysql_database = "";
$mysql_user = "";
$mysql_password = "";
// Provide host ip, mysql user name, password
$con = mysql_connect($mysql_host,$mysql_user,$mysql_password);
// Provide database name.
mysql_select_db($mysql_database);
$sessionId=$_GET['sessionId'];
$game=$_GET['game'];
$name=$_GET['name'];
$avgMed=$_GET['avgMed'];
$maxMed=$_GET['maxMed'];
$avgAttn=$_GET['avgAttn'];
$maxAttn=$_GET['maxAttn'];
$score=$_GET['score'];
$date=$_GET['date'];
$flag="false";
if(!empty($game) && !empty($name) && !empty($date) && !empty($sessionId))
{
$sql="Insert into `GameDetails` (`SessionId`,`game`,`name`,`AvgMediation`,`MaxMediation`,`AvgAttention` ,`MaxAttention`,`Score`,`Date`) values ('$sessionId','$game','$name','$avgMed','$maxMed','$avgAttn','$maxAttn','$score','$date') ";
$result=mysql_query($sql);
if($result)
{
$count= mysql_affected_rows();
if($count > 0)
{
$flag="true"; //result true
}
}
mysql_close($con);
echo json_encode(array("result"=>$flag));
}
}
?>
08-15 22:48:10.907: W/System.err(20233): org.json.JSONException: Value <!-- of type java.lang.String cannot be converted to JSONObject
08-15 22:48:10.907: W/System.err(20233): at org.json.JSON.typeMismatch(JSON.java:111)
08-15 22:48:10.907: W/System.err(20233): at org.json.JSONObject.<init>(JSONObject.java:159)
08-15 22:48:10.907: W/System.err(20233): at org.json.JSONObject.<init>(JSONObject.java:172)
08-15 22:48:10.907: W/System.err(20233): at com.example.brianapp.LoginHome$LongOperation.onPostExecute(LoginHome.java:259)
08-15 22:48:10.907: W/System.err(20233): at com.example.brianapp.LoginHome$LongOperation.onPostExecute(LoginHome.java:1)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask.finish(AsyncTask.java:632)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask.access$600(AsyncTask.java:177)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
08-15 22:48:10.907: W/System.err(20233): at android.os.Handler.dispatchMessage(Handler.java:102)
08-15 22:48:10.907: W/System.err(20233): at android.os.Looper.loop(Looper.java:157)
08-15 22:48:10.907: W/System.err(20233): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-15 22:48:10.907: W/System.err(20233): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 22:48:10.907: W/System.err(20233): at java.lang.reflect.Method.invoke(Method.java:515)
08-15 22:48:10.907: W/System.err(20233): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-15 22:48:10.907: W/System.err(20233): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-15 22:48:10.907: W/System.err(20233): at dalvik.system.NativeStart.main(Native Method)
私有类LongOperation扩展了异步任务{
//所需初始化
私有最终HttpClient客户端=新的DefaultHttpClient();
私有字符串内容;
私有字符串错误=null;
private ProgressDialog=新建ProgressDialog(LoginHome.this);
字符串数据=”;
int sizeData=0;
公共字符串sessionId=“”;
受保护的void onPreExecute(){
//注意:您可以在这里调用UI元素。
//启动进度对话框(消息)
setMessage(“请稍候..数据正在上载”);
Dialog.show();
}
//在onPreExecute方法之后调用
受保护的Void doInBackground(字符串…URL){
/************对Web服务器进行Post调用***********/
BufferedReader reader=null;
//发送数据
试一试{
//已定义用于发送数据的URL
URL=新URL(URL[0]);
//发送POST数据请求
URLConnection conn=url.openConnection();
连接设置输出(真);
OutputStreamWriter wr=新的OutputStreamWriter(
conn.getOutputStream());
wr.写入(数据);
wr.flush();
//获取服务器响应
reader=新的BufferedReader(新的InputStreamReader(
conn.getInputStream());
StringBuilder sb=新的StringBuilder();
字符串行=null;
//读取服务器响应
而((line=reader.readLine())!=null){
//在字符串中追加服务器响应
sb.追加(第+行“);
}
//将服务器响应附加到内容字符串
Content=sb.toString();
}捕获(例外情况除外){
Error=ex.getMessage();
}最后{
试一试{
reader.close();
}
捕获(例外情况除外){
}
}
/*****************************************************/
返回null;
}
受保护的void onPostExecute(未使用的void){
//注意:您可以在这里调用UI元素。
//关闭进度对话框
Dialog.dismise();
if(错误!=null){
//uiUpdate.setText(“输出:+错误);
}否则{
//在屏幕上显示响应Json(活动)
//uiUpdate.setText(内容);
/******************启动解析响应JSON数据*************/
字符串OutputData=“”;
JSONObject jsonResponse;
试一试{
/******
*从中创建具有名称/值映射的新JSONObject
*JSON字符串。
********/
jsonResponse=新的JSONObject(内容);
String result=jsonResponse.get(“result”).toString();
if(result.equals(“true”)){
//loginDataBaseAdapter.deleteUploadedRecord(sessionId);
Toast.makeText(LoginHome.this,
“数据已成功上载。”,
Toast.LENGTH_LONG).show();
}否则{
Toast.makeText(
罗金和美,这个,
“上载时出错。请稍后再试。”,
Toast.LENGTH_LONG).show();
}
}
/******************结束解析响应JSON数据*************/
捕获(JSONException e){
e、 printStackTrace();
}
}
}
}
URL中相应的PHP脚本(删除登录详细信息):
public void UploadDataAuto(String sessionId, String game, String name,
Integer score, Integer avgAttn, Integer avgMed, Integer maxAttn,
Integer maxMed, String date){
// Defined URL where to send data
String ServerUrl = "http://ry.net16.net/gameRegistration.php?sessionId="
+ sessionId
+ "&game="
+ game
+ "&name="
+ name
+ "&avgMed="
+ avgMed
+ "&maxMed="
+ maxMed
+ "&avgAttn="
+ avgAttn
+ "&maxAttn="
+ maxAttn
+ "&score="
+ score
+ "&date="
+ date
+ "";
LongOperation longOperation = new LongOperation();
longOperation.sessionId = sessionId;
longOperation.execute(ServerUrl);
}
private class LongOperation extends AsyncTask<String, String, Void> {
// Required initialization
private final HttpClient Client = new DefaultHttpClient();
private String Content;
private String Error = null;
private ProgressDialog Dialog = new ProgressDialog(LoginHome.this);
String data = "";
int sizeData = 0;
public String sessionId = "";
protected void onPreExecute() {
// NOTE: You can call UI Element here.
// Start Progress Dialog (Message)
Dialog.setMessage("Please wait.. Data is uploading .");
Dialog.show();
}
// Call after onPreExecute method
protected Void doInBackground(String... urls) {
/************ Make Post Call To Web Server ***********/
BufferedReader reader = null;
// Send data
try {
// Defined URL where to send data
URL url = new URL(urls[0]);
// Send POST data request
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(
conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the server response
reader = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
// Append server response in string
sb.append(line + "");
}
// Append Server Response To Content String
Content = sb.toString();
} catch (Exception ex) {
Error = ex.getMessage();
} finally {
try {
reader.close();
}
catch (Exception ex) {
}
}
/*****************************************************/
return null;
}
protected void onPostExecute(Void unused) {
// NOTE: You can call UI Element here.
// Close progress dialog
Dialog.dismiss();
if (Error != null) {
// uiUpdate.setText("Output : "+Error);
} else {
// Show Response Json On Screen (activity)
// uiUpdate.setText( Content );
/****************** Start Parse Response JSON Data *************/
String OutputData = "";
JSONObject jsonResponse;
try {
/******
* Creates a new JSONObject with name/value mappings from
* the JSON string.
********/
jsonResponse = new JSONObject(Content);
String result = jsonResponse.get("result").toString();
if (result.equals("true")) {
//loginDataBaseAdapter.deleteUploadedRecord(sessionId);
Toast.makeText(LoginHome.this,
"Data is successfully uploaded.",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(
LoginHome.this,
"Error while uploading. Please try again later.",
Toast.LENGTH_LONG).show();
}
}
/****************** End Parse Response JSON Data *************/
catch (JSONException e) {
e.printStackTrace();
}
}
}
}
<?php
if(isset($_GET['sessionId']) && isset($_GET['game']) && isset($_GET['name']) && isset($_GET['avgMed']) && isset($_GET['maxMed']) && isset($_GET['avgAttn']) && isset($_GET['maxAttn']) && isset($_GET['score']) && isset($_GET['date']) )
{
$mysql_host = "";
$mysql_database = "";
$mysql_user = "";
$mysql_password = "";
// Provide host ip, mysql user name, password
$con = mysql_connect($mysql_host,$mysql_user,$mysql_password);
// Provide database name.
mysql_select_db($mysql_database);
$sessionId=$_GET['sessionId'];
$game=$_GET['game'];
$name=$_GET['name'];
$avgMed=$_GET['avgMed'];
$maxMed=$_GET['maxMed'];
$avgAttn=$_GET['avgAttn'];
$maxAttn=$_GET['maxAttn'];
$score=$_GET['score'];
$date=$_GET['date'];
$flag="false";
if(!empty($game) && !empty($name) && !empty($date) && !empty($sessionId))
{
$sql="Insert into `GameDetails` (`SessionId`,`game`,`name`,`AvgMediation`,`MaxMediation`,`AvgAttention` ,`MaxAttention`,`Score`,`Date`) values ('$sessionId','$game','$name','$avgMed','$maxMed','$avgAttn','$maxAttn','$score','$date') ";
$result=mysql_query($sql);
if($result)
{
$count= mysql_affected_rows();
if($count > 0)
{
$flag="true"; //result true
}
}
mysql_close($con);
echo json_encode(array("result"=>$flag));
}
}
?>
08-15 22:48:10.907: W/System.err(20233): org.json.JSONException: Value <!-- of type java.lang.String cannot be converted to JSONObject
08-15 22:48:10.907: W/System.err(20233): at org.json.JSON.typeMismatch(JSON.java:111)
08-15 22:48:10.907: W/System.err(20233): at org.json.JSONObject.<init>(JSONObject.java:159)
08-15 22:48:10.907: W/System.err(20233): at org.json.JSONObject.<init>(JSONObject.java:172)
08-15 22:48:10.907: W/System.err(20233): at com.example.brianapp.LoginHome$LongOperation.onPostExecute(LoginHome.java:259)
08-15 22:48:10.907: W/System.err(20233): at com.example.brianapp.LoginHome$LongOperation.onPostExecute(LoginHome.java:1)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask.finish(AsyncTask.java:632)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask.access$600(AsyncTask.java:177)
08-15 22:48:10.907: W/System.err(20233): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
08-15 22:48:10.907: W/System.err(20233): at android.os.Handler.dispatchMessage(Handler.java:102)
08-15 22:48:10.907: W/System.err(20233): at android.os.Looper.loop(Looper.java:157)
08-15 22:48:10.907: W/System.err(20233): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-15 22:48:10.907: W/System.err(20233): at java.lang.reflect.Method.invokeNative(Native Method)
08-15 22:48:10.907: W/System.err(20233): at java.lang.reflect.Method.invoke(Method.java:515)
08-15 22:48:10.907: W/System.err(20233): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-15 22:48:10.907: W/System.err(20233): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-15 22:48:10.907: W/System.err(20233): at dalvik.system.NativeStart.main(Native Method)
看起来您想用非JSON字符串创建一个新的JSONObject
。这似乎发生在onPostExecute()
其中内容
可能没有JSON。尝试替换
private class LongOperation extends AsyncTask<String, String, Void>
借
最后
protected void onPostExecute(Void unused)
借
您可以发布您试图解析的JSON字符串吗?确保服务器返回有效的JSON。现在,它可能返回某种错误(404或其他)或网页。