【发布时间】:2017-03-06 03:07:29
【问题描述】:
Java
dependencies {
compile 'com.android.volley:volley:1.0.0'
}
这是一个简单的 volley 请求,我想通过它发送一些帖子数据,但看起来请求是作为 GET 请求进行的
package xyz.hydroid.volleytest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
makeRequest();
}
private void makeRequest() {
String url = "http://someurl/postin";
StringRequest postRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener < String > () {
@Override
public void onResponse(String response) {
Log.v("Response", response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}
) {
@Override
protected Map < String, String > getParams() {
Map < String, String > params = new HashMap < > ();
params.put("name", "Frostbite");
return params;
}
};
Volley.newRequestQueue(this).add(postRequest);
}
}
PHP
通常,此 php 代码在 postman 测试时返回服务器请求“POST”,但似乎不适用于 volley。
<?php
header('Access-Control-Allow-Origin: *');
echo $_SERVER['REQUEST_METHOD'];
【问题讨论】:
-
感谢您的回复。我按照参考但无法解决问题:(我仍然得到服务器请求方法是GET。但我需要POST。
-
一切似乎都是正确的!我希望您在 echo REQUEST_METHOD 之前在 php 脚本中为您的数据库设置主机、用户 ID、密码
标签: java android android-volley