我正在尝试创建一个基于android web的应用程序,计划是使用php作为服务器端脚本语言。首先我使用xampp,使用wifi-tethering与笔记本电脑共享我的手机网络,试试看我创建并返回了一个简单的json对象,它有效。 继续实际创建一个严肃的项目,我计划使用laravel为我简化服务器端脚本,但由于某种原因,laravel中的服务器引擎似乎没有得到请求.Below是普通的PHP脚本工作:
<?php
class message{
public $title="";
public $content="";
}
$message=new message;
$message->title='Hi there';
$message->content='I am hoping we can meet later tonight!';
echo json_encode($message);
?>
&#13;
这是我的控制器中的代码,它甚至不执行
<?php
class MyController extends BaseController{
public function getHome(){
$message=new message;
$message->title="My title";
$message->content="Everythiing is very cool!";
return json_encode($ujumbe);
}
}
?>
这是我在laravel中的routes.php文件中的代码
Route::post('/',array(
'as' => 'home',
'uses' => 'MyController@getHome'
));
Route::get('/',array(
'as' => 'home',
'uses' => 'MyController@getHome'
));
&#13;
我希望能够到达后期路线,但是我没有检查过日志,但似乎根本没有任何请求。但是当我使用我的浏览器并键入相同的路线时,< / p>
http:://localhost/
&#13;
我已经搜索过类似的问题,我无法获得任何帮助。顺便说一句,在我的Android应用程序中我没有使用localhost,我使用无线网络中的ip地址。我的AsyncTask中的代码是如下所示:
private class MyAsyncTask extends AsyncTask<String,String,String>{
String url="http://192.168.43.215:8000/";
@Override
protected String doInBackground(String... arg0) {
DefaultHttpClient hclient=new DefaultHttpClient(new BasicHttpParams());
HttpPost hpost=new HttpPost(url);
hpost.setHeader("Content-type","application/json");
// hpost.setHeader("Content-Type",
// "application/x-www-form-urlencoded;charset=UTF-8");
InputStream inStream=null;
String result=null;
try{
HttpResponse hresponse=hclient.execute(hpost);
Log.v("ALERT","response is back");
HttpEntity entity=hresponse.getEntity();
inStream=entity.getContent();
BufferedReader reader=new BufferedReader(new InputStreamReader(inStream,"UTF-8"));
StringBuilder sbuilder=new StringBuilder();
String line=null;
while((line = reader.readLine()) != null){
sbuilder.append(line+"\n");
}
result=sbuilder.toString();
Log.v("ALERT","string built already");
}catch(Exception e){
e.printStackTrace();
}
finally{
try{
if(inStream!=null)
inStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
Log.v("ALERT",result);
return result;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
JSONObject jobject;
Log.v("ALERT",result);
try{
jobject=new JSONObject(result);
txtTitle.setText(jobject.getString("title"));
txtContent.setText(jobject.getString("content"));
}catch(JSONException e){
e.printStackTrace();
}
}
&#13;
答案 0 :(得分:1)
在String url="http://192.168.43.215:8000/";
尝试String url="http://192.168.43.215
正如你所说,你试过http://localhost
并且它有效,那么为什么要将请求发送到端口8000?