Java Android截击:无法将数据传递到服务器
我正在尝试为我的android应用程序创建一个简单的注册页面。我用URL字符串传递参数,并将这些参数存储在数据库中。每当我试图在浏览器中直接使用字符串时,数据都会毫无错误地添加到数据库中。然而,当我尝试从Android Volley传递数据时,我得到了HTTP错误409 我已经检查了所有内容,但仍然不明白为什么只有在我尝试从android应用程序运行url字符串时才会出现此错误 URL字符串:-Java Android截击:无法将数据传递到服务器,java,php,android,android-volley,Java,Php,Android,Android Volley,我正在尝试为我的android应用程序创建一个简单的注册页面。我用URL字符串传递参数,并将这些参数存储在数据库中。每当我试图在浏览器中直接使用字符串时,数据都会毫无错误地添加到数据库中。然而,当我尝试从Android Volley传递数据时,我得到了HTTP错误409 我已经检查了所有内容,但仍然不明白为什么只有在我尝试从android应用程序运行url字符串时才会出现此错误 URL字符串:- http://myurl.com/api/register.php?name=ahmed&e
http://myurl.com/api/register.php?name=ahmed&email=obaid.ahmed@gmail.com&password=12345&membertype=Artist&joindate=24-Feb-2019
Java代码:-
JsonObjectRequest getRequest = new JsonObjectRequest(Request.Method.GET, urlFinal, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// display response
Log.d("Response", response.toString());
uploadImageToServer();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("Error.Response", error.toString());
hideDialog();
}
}
);
JsonObjectRequest getRequest=newjsonobjectrequest(Request.Method.GET,urlfail,null,
新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
//显示响应
Log.d(“Response”,Response.toString());
上传ImageToServer();
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Log.d(“Error.Response”,Error.toString());
hideDialog();
}
}
);
首先你需要了解409
请在此解释:
并尝试在发生冲突问题的服务器端解决此问题
我建议你在用URL发送东西之前使用URL编码,
由以下人员执行:
或者
String query = URLEncoder.encode("apples oranges", "utf-8");
String url = "http://stackoverflow.com/search?q=" + query;
或者
使您的URL更兼容
或者,还有一个更好的方法,我个人推荐给任何喜欢轻量级截击Api集成的android开发人员
https://github.com/Lib-Jamun/Volley
dependencies {
compile 'tk.jamun:volley:0.0.4'
}
很酷的编码。不确定这是否与错误有关,但这不应该是一个
POST
请求吗?@paulajcm是的,我尝试了POST请求,但我的服务器没有通过POST获得任何变量或数据。非常感谢您的回答。实际上,我的系统、网络连接或Android Studio出现了一些问题。我重新启动了所有这些程序,它成功了。:)
https://github.com/Lib-Jamun/Volley
dependencies {
compile 'tk.jamun:volley:0.0.4'
}