【发布时间】:2016-09-20 12:43:09
【问题描述】:
我正在使用 volley 发送 Web 服务请求,并且 volley 响应是 SERVER ERROR(此站点需要启用 java 脚本)。我尝试了 POST 和 GET 方法。 在对这个问题进行一些搜索后,我发现了这两个问题.. Volley Server error (Requires javascript?) Android Development but there is no answer to solve this issue in 2 months
Disable Javascript on volley StringRequest but there is no answer to solve this issue in 6 months
没有找到更多问题和解决方案。谁能告诉这个问题的确切问题和解决方案。 这是我的代码
public void postRequest(final JSONObject jsonParams,final Handler handler){
StringRequest stringRequest = new StringRequest(Request.Method.POST, AppConstants.ADMIN_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Message message = handler.obtainMessage();
message.obj = response;
handler.sendMessage(message);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Message message = handler.obtainMessage();
message.obj = error.toString();
Log.d("error",error.toString());
handler.sendMessage(message);
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
Iterator<String> iter = jsonParams.keys();
while (iter.hasNext()) {
try {
String key = iter.next();
String value = jsonParams.get(key)+"";
params.put(key,value);
} catch (JSONException e) {
// Something went wrong!
Message message = handler.obtainMessage();
message.obj = e.getMessage();
handler.sendMessage(message);
}
}
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> headers = new HashMap<String, String>();
return headers;
}
};
MyVolley.getInstance(context).getRequestQueue().add(stringRequest);
}
网络服务代码是
<?php if(true) { echo 'request arrived'; } ?>
【问题讨论】:
-
您向哪个站点发送请求?
-
我正在使用一个免费的托管网站.. Base.pk
-
我认为如果你点击一个需要 javascript 的网页,它会遇到这个错误,但你不应该向这样的网站发出这样的请求,这就是我想知道的原因。您是否尝试点击旨在为用户提供 UI 或其他任何内容的网址?
-
不,Web 服务代码中没有 UI。我尝试了一个简单的响应,并且从浏览器请求 url 工作正常..
标签: android android-volley android-webservice