嗨,我正在使用Volley
我的登录页面。我需要像这样传递数据
{
userID : '-988682425884628921',
email :'aditya@vyas.com',
passwd : '123ss'
}
我正在使用POST方法发送数据,我已经在DHC中进行了检查,Api在DHC中工作正常,并且我正在获取JSON
Response
,但是当我尝试使用Volley时,我无法获得响应。甚至在我的logcat中也没有任何错误。
JAVA代码
RequestQueue mVolleyQueue = Volley.newRequestQueue(this);
CustomRequest req = new CustomRequest(Request.Method.POST,url,null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.v("tag","login response " + response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.v("tag","login error response " + error.getMessage());
}
}){
@Override
public Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("userID", "-988682425884628921");
params.put("email", "aditya@vyas.com");
params.put("passwd", "123ss");
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
return headers;
}
};
mVolleyQueue.add(req);
错误
05-28 09:20:14.696 2450-2468/com.android.msahakyan.expandablenavigationdrawer E/tag﹕ parseNetworkError is ! null
05-28 09:20:14.697 2450-2468/com.android.msahakyan.expandablenavigationdrawer E/tag﹕ parseNetworkError status code : 400
05-28 09:20:14.697 2450-2468/com.android.msahakyan.expandablenavigationdrawer E/tag﹕ parseNetworkError message : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Header</h2>
<hr><p>HTTP Error 400. The request has an invalid header name.</p>
</BODY></HTML>
}
解决了您的问题。刚刚使用JsonArrayRequest
和传递的参数JsonObject
形式:
Map<String, String> params = new HashMap<String, String>();
params.put("userID", "userid");
params.put("email","email");
params.put("passwd", "password");
JsonArrayRequest request = new JsonArrayRequest(Request.Method.POST, "url", new JSONObject(params),
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
System.out.println("response -->> " + response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("change Pass response -->> " + error.toString());
}
});
request.setRetryPolicy(new
DefaultRetryPolicy(60000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Volley.newRequestQueue(activity).add(request);
无需覆盖getParams()
或getHeaders()
。
问题:1 因为服务器接受了as 并且我们正在尝试提供数据,所以 您获得 响应代码500
。params``JsonObject``String
问题:2
您正在使用,JsonObjectRequet
但是来自服务器的响应已进入,JsonArray
因此您需要使用JsonArrayRequest
来接受JsonArray
尝试让我知道这是否有帮助:)
我正在使用Android截击来发出请求。所以我使用这个代码。我不明白一件事。我在服务器中检查params是否始终为null。我认为GETPARAMS()不工作。我应该做些什么来解决这个问题。
问题内容: 该代码将鼠标移动坐标存储在数组中,并且应该在卸载之前将其发布。但是它不发布。如果我改变 名称:移动 至 名:“布拉布拉” 有用。表示问题出在“ moves”变量上。我该如何运作? 问题答案: 你可以试试看 这是我几个月前开发的一个小例子。在这种情况下,坐标存储在文本文件中,但是您可以使用INSERT替换它到数据库中。 在客户端上输入: 现在,您需要在服务器端创建一个名为server.p
问题内容: 我有以下代码,可用于以编程方式登录网站。但是,它不返回登录页面的html(带有用户数据信息),而是返回登录页面的html。我试图多次查找出问题所在,但似乎找不到。 [注意]登录表单中有一行: 但这没有“名称”属性,因此我没有发布 任何答案/评论表示赞赏! [UPDATE2]对于登录页面,浏览器显示以下内容… 问题答案: 您必须分两个阶段登录该站点。 第1阶段-您向该URL 发送请求-
问题内容: 我正在尝试在Volley JsonObjectRequest中发送POST参数。最初, 它 通过遵循官方代码所说的在JsonObjectRequest的构造函数中传递包含参数的JSONObject来为我 工作 。然后一下子它停止工作了,我没有对以前工作的代码进行任何更改。服务器不再识别任何正在发送的POST参数。这是我的代码: 这是服务器上的简单测试器PHP代码: 我得到的答复是 昨天
问题内容: 我在一个控制器中使用了以下代码; 我调试了它,它涉及返回行,但是没有发生重定向。是否可以在Ajax.BeginForm内执行此操作?这是剃刀代码; 问题答案: 您无法从服务器重定向AJAX操作。如果您希望浏览器以AJAX操作重定向,则需要使用javascript进行重定向。显然,使用AJAX重定向绝对没有用。如果您打算重定向,请使用常规的Html.Begin表单,不要打扰AJAX。
我在运行Jenkins 1.571。我正在使用构建我的项目。我有两次执行以分叉模式执行两个testng套件。 生成日志显示: 我的相关pom.xml: