我正在尝试将我的Android应用程序中的JSON对象发送到我的网站数据库。但是,我似乎没有得到任何类型的连接,我也没有得到任何异常错误。我目前正试图在eclipse中使用java连接,但仍然没有运气。
submitAlbum.php:
<?php
if(isset($_POST["albumId"])){
$albumId = json_decode($_POST["albumId"]);
}
java代码:
String albumId = "qjlix";
try{
//Creates JSON object
JSONObject tempObj = new JSONObject();
tempObj.put("albumId", albumId);
//Creates connection to URL
URL targetUrl = new URL("http://example.com/submitAlbum.php");
HttpURLConnection conn = (HttpURLConnection) targetUrl.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setConnectTimeout(500);
conn.setRequestProperty("Content_Type", "application/json; charset=UTF-8");
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write(tempObj.toString());
writer.flush();
writer.close();
} catch (Exception e){
System.out.println(e.toString());;
}
他们缺少什么或做错了吗?
答案 0 :(得分:0)
您没有发送POST参数/键&#39; albumId&#39;其中的值是json文本。而是发送包含json参数&#39; albumId&#39;。
的json文本Php脚本和客户端代码不匹配。
首先确定是否要POST键=值对。或者想要发布json文本。然后处理。
答案 1 :(得分:0)
我不知道为什么,但是在客户端运行之前,PHP甚至都不会运行:
conn.getResponseCode();
所以最后我只是让PHP代码已经设置了一个albumId,它只需要一些东西来连接它。然后它会将它提交到我的数据库。
PHP:
$albumId = "qjlix";
然后在我的java中,我需要做的就是获取PHP文件的连接。
爪哇:
try{
URL url = new URL("http://example.com/submitAlbum.php");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.write("albumId = this");
writer.close();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
System.out.println("worked");
}else{
System.out.println("Did not work");
}
}catch(Exception e){
System.out.println("exception thrown");
}
我正在使用IntelliJ测试Java,即使它将在Android应用程序中使用。我打算只使用Volley,因为有时HttpURLConnection很奇怪。感谢!!!