2015-12-17 86 views
0

我在Symfony控制器中檢索POST數據時遇到問題。來自Android的POST請求未在Symfony控制器中收到

每當我打印帖子,獲取或文件變量,數組是空的。

編輯:我使用的是10.0.2.2

在這裏,在本地環境中測試這就是我發送數據:

HttpClient httpClient = new DefaultHttpClient(); 
HttpPost httpPost = new HttpPost(mContext.getString(R.string.url_home) + "en" + mContext.getString(R.string.save_sentences_route) + "/add"); 
HttpResponse response = null; 
try { 
    List<NameValuePair> params = new ArrayList<NameValuePair>(1); 
    params.add(new BasicNameValuePair("text", "A")); 
    httpPost.setEntity(new UrlEncodedFormEntity(params)); 

    response = httpClient.execute(httpPost); 
    HttpEntity entity = response.getEntity(); 
    Log.i("TEST", "Passed httpClient.execute"); 
} 
catch (Exception ignored) 
{ 
} 

這裏就是我如何接受它在Symfony的控制器:

$user = $this->get('security.context')->getToken()->getUser(); 
if (!is_object($user) OR !$this->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED')) 
{ 
return new RedirectResponse($this->generateUrl('test_core_default_index')); 
} 

$all_users = $this->getDoctrine()->getManager()->getRepository('MyUserBundle:User'); 
$all_users = $all_users->findAll(); 

var_dump($_GET); 
echo "</br></br></br><hr></br></br></br>"; 
var_dump($_POST); 
echo "</br></br></br><hr></br></br></br>"; 
var_dump($_FILES); 
echo "</br></br></br><hr></br></br></br>"; 

//deliberate bug in order to see the var_dumps and echos 
return new RedirectResponse($this->generateUrl('deliberate_bug')); 

我第一次與這些測試,而不是$ _POST和$ _GET:

$this->getRequest()->request->all(); 
$this->getRequest()->query->all(); 

,並與這些還有:

$request->get('text'); 
$request->get('A'); //I was really desperate trying this. 

還測試$ _FILES, 「以防萬一」。

我真的不是我做錯了什麼。任何想法 ?

在此先感謝。

回答

0

你有沒有檢查cors? 你可以使用這個包很容易地做到這一點 NelmioCorsBundle

+1

我沒有,因爲我想得到它與更少的束可能工作。 雖然我會研究它,因爲除了你以外沒有人回答。謝謝:) –

+0

你可以在htaccess中定義它,但對於我來說這個包很有幫助 – ThomasP1988

相關問題