POST方法的意外响应代码500

我正在对旧项目进行更新,到目前为止,我对Android的了解不多。在项目中,我们有关于产品的评论部分。

对于较早发送后的评论,我们返回0(某些错误)和1(成功)。

下面是我们正在使用的代码。

final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(

Method.POST,

act.getString(R.string.CommentForUserURL),

null, new Response.Listener<JSONObject>() {

@Override

public void onResponse(

JSONObject response) {

Log.d("response done", "done===" + response);

mloading.setVisibility(View.GONE);

if (response != null) {

Comment obj = new Comment();

JSONObject jsonObject = response;

try {

obj.setComment(jsonObject

.getString("Comment"));

现在,我们将返回对象从0/1更改为用户对象。

是否需要将JsonObjectRequest更新为GJSON请求?否则对象也会被JsonObjectRequest解析?

我问是因为当我在上面执行时,出现如下错误。

01-25 12:30:21.754: E/Volley(16487): [10114] BasicNetwork.performRequest: 

Unexpected response code 500 for

http://new.souqalharim.com/add/CommentForMerchant

知道为什么我会收到此错误吗?

注意:此URL适用于iPhone应用程序。


回答:

这是post方法,因此不存在完整的url。还有几个要添加的参数,例如?comment = MyComment&userId = 123&productId= 234。由于是发布,所以我没有在实际的URL中添加参数。

我有其他方法

@Override

protected Map<String, String> getParams()

throws AuthFailureError {

Map<String, String> params = new HashMap<String, String>();

params.put("productId", productId.toString());

params.put("userId",

mSessionManager.getUserCode().toString());

params.put("comment", GlobalFunctions

.EncodeParameter(med_comments

.getText().toString()));

return params;

}

完整网址如下。

http://new.souqalharim.com/add/CommentForUser?productId=325&userId=5&comment=abcd

我在Mozilla RESTClient中对此进行了测试,并且效果很好。


回答:

经过进一步检查后,我发现protected Map<String, String> getParams() throws AuthFailureError

{没有接到电话。知道为什么会这样吗?

回答:

问题在下面。

final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(

Method.POST,

act.getString(R.string.CommentForUserURL),

null, new Response.Listener<JSONObject>() {

^^^^

它应该是

final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(

Method.POST,

act.getString(R.string.CommentForUserURL),

new JSONObject(params), new Response.Listener<JSONObject>() {

^^^^^^^^^^^^^^^^^^^^^^

protected Map<String, String> getParams()之前复制代码final JsonObjectRequest

而已!!!

原因如下。

扩展JsonRequest其覆盖getBody()方法直接,让你的

永远不会调用,我建议您扩展 代替JsonObjectRequest。

以上是 POST方法的意外响应代码500 的全部内容, 来源链接: utcz.com/qa/412627.html

回到顶部