这是我用来发出POST请求的一段代码。
RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this);
String url = "myUrl.....";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, response -> {
Toast.makeText(MainActivity.this, "Response: "+response, Toast.LENGTH_SHORT).show();
try {
JSONObject mainObject = new JSONObject(response);
error = mainObject.getBoolean("error");
//Toast.makeText(getApplicationContext(), error, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
e.printStackTrace();
}
if(!error){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(userNameShared, email);
editor.putString(passwordShared, password);
editor.commit();
startActivity(new Intent(MainActivity.this, MainActivityDashboard.class));
}
else{
editTextEmail.setError("Invalid e-mail");
editTextPassword.setError("Invalid password");
return;
}
}, error -> Toast.makeText(MainActivity.this, "Error: "+error.getMessage(), Toast.LENGTH_SHORT).show()){
@Override
protected Map<String, String> getParams() throws AuthFailureError
{
Map<String,String> params = new HashMap<String, String>();
params.put("email", email);
params.put("password", password);
params.put("rememberPassword", false);
params.put("ip_address", ipAddress);
params.put("isCaptchaEnabled", false);
return params;
}
@Override
public Map<String,String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Context-Type","application/json");
return params;
}
};
requestQueue.add(stringRequest);
});
在以前的项目中,一切都很好地工作,但现在的问题是,我想在帖子正文中包括布尔值和字符串值。
正文如下:{"email":"username@mail.com","密码":"Somepassword","rememberPassword": false,"ip_address":"152.57.31.41","isCaptchaEn的": false}
我不熟悉API调用和JSON。我试着在谷歌上搜索答案,但每个人都在使用地图
答案相当简单。我们可以使用JsonObjectRequest并将参数传递给它。这是我的工作代码,以防有人面临同样的天真问题。
String postUrl = "yourURL.....";
RequestQueue requestQueue = Volley.newRequestQueue(this);
JSONObject postData = new JSONObject();
try {
postData.put("email", editTextEmail.getText().toString());
postData.put("password", editTextPassword.getText().toString());
postData.put("rememberPassword", false);
postData.put("ip_address", "1.41");
postData.put("isCaptchaEnabled", false);
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, postUrl, postData, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(getApplicationContext(), "Response: "+response, Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
requestQueue.add(jsonObjectRequest);
用简单的话来说,我想发送这个数据到服务器,使用Volley Post Request。 它有一个整数和一个字符串,我得到的响应是Jsonarray 我尝试过以下方法,但都不管用 > 因为它是json数组请求,我不能在参数中发送数据,因为第三个参数只需要JsonArray,我必须发送JsonObject,所以保持为null 我不能把它放在中,因为值的1是整数,并且它只接受字符串 getparams(
我正在使用截击与API交互。我需要向返回JSON数组的服务发送post请求(带参数)。 JsonObjectRequest有一个构造函数,它接受一个方法和一组参数 但是JSONArrayRequest(我需要的一个)只有一个构造函数的形式 我如何才能使其发送包含数据的POST请求?
问题内容: 我想通过PHP 在Blogger博客中添加帖子。Google提供了以下示例。如何在PHP中使用它? 您可以通过向带有帖子JSON正文的帖子集合URI发送POST请求来为博客添加帖子: 问题答案: 您需要使用cURL库发送此请求。 如果由于某种原因您不想/不想使用cURL,可以这样做:
我试图使用Android Volley库发送JSON Post请求,但我似乎没有得到json的正文,我在我的Web服务器上得到未定义的正文参数。我需要json的参数体是一个单一的对象"name=某些Val } 我也在上面的代码中尝试了这一点,但没有成功:
我正在用GoogleVolley Api创建一个android应用程序,它处理我的应用程序和php脚本之间的连接。出于某种原因,该应用程序没有向我的服务器发送任何数据,也许这里的某个人可以找到它? 我的方法被正确调用,但是当我尝试打印它时,它返回null!一切实际上都在工作,除了数据没有正确传递,我相信,因为我的php脚本抱怨变量为空
问题内容: 我已经设置好OkHttpClient并成功将GET请求发送到服务器。而且,我还可以将带有空body标签的POST请求发送到服务器。 现在,我正在尝试将以下JSON对象发送到服务器。 为此,我尝试添加OkHttpClient库类,但无法将JSON对象作为http POST请求的主体发送。我尝试通过以下方式构建主体并处理发布请求。 通过POST请求将JSON对象发送到服务器的方式是什么。