作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是服务器端代码
<?php
require('connection.php');
require('functions.php');
$inputJSON = file_get_contents('php://input');
$aReuestData = json_decode( $inputJSON, TRUE ); //convert JSON into array
$user_email = $aReuestData['user_email'];
$user_password = $aReuestData['user_password'];
$user_uniq = $aReuestData['user_uniq_id'];
if((($user_password !='') && ($user_email !=''))|| ($user_uniq!=''))
{
$uname = $user_email;
$pword = $user_password;
$format ='json';
if(($user_password !='') && ($user_email !='')){
echo $checkUser = checkLogin($uname,$pword);
}
else{
$checkUser = checkLoginFacebook($user_uniq);
}
//print_r($checkUser);
if($checkUser['id'] > 0)
{
$result = $checkUser;
}else{
$result = "false";
}
}else{
$result = "Enter username and password";
}
$records = array("result"=> $result);
echo $_REQUEST['jsoncallback']. json_encode($records);
?>
我的登录 Activity 代码是
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Cache;
import com.android.volley.Network;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.BasicNetwork;
import com.android.volley.toolbox.DiskBasedCache;
import com.android.volley.toolbox.HurlStack;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class Login extends MainActivity {
//private Button button;
//private TextView welcome;
//private EditText username;
//private EditText password;
//private JSONObject jsonObject;
private RequestQueue requestQueue;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Cache cache = new DiskBasedCache(getCacheDir(),1024 * 1024);
Network network = new BasicNetwork(new HurlStack());
requestQueue= new RequestQueue(cache,network);
final TextView send = (TextView)findViewById(R.id.send);
final TextView hello = (TextView)findViewById(R.id.mess);
EditText username = (EditText)findViewById(R.id.edituser);
EditText password = (EditText)findViewById(R.id.editpass);
Button button = (Button)findViewById(R.id.signin);
final JSONObject jsonObject = new JSONObject();
try {
// jsonObject.put("Content-Type: ","application-json");
jsonObject.put("user_email",username.getText().toString().trim());
jsonObject.put("user_password",password.getText().toString().trim());
} catch (JSONException e) {
e.printStackTrace();
}
final HashMap<String,String> params = new HashMap<String, String>();
params.put("user_email",username.getText().toString().trim());
params.put("user_password",password.getText().toString().trim());
String json = "{\"user_email\":\"ankur@gmail.com\",\"user_password\":\"123456\"} ";
JSONObject json1 = new JSONObject();
try {
json1 = new JSONObject(json);
} catch (JSONException e) {
e.printStackTrace();
}
requestQueue.start();
final String url = "http://demo4u.org/leaveapp/ws/login.php";
send.setText(json1.toString());
final JSONObject finalJson = json1;
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(ApiMethods.login, finalJson,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(Login.this,"Passed",Toast.LENGTH_LONG).show();
hello.setText(response.toString());
Toast.makeText(Login.this,jsonObject.toString(),Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(Login.this,"Error",Toast.LENGTH_LONG).show();
}
}
){
@Override
public Map<String,String> getHeaders(){
HashMap<String,String> headers = new HashMap<>();
headers.put("Accept", "application/json");
headers.put("Content-Type","application/json");
return headers;
}
};
requestQueue.add(jsonObjectRequest);
}
});
}
}
我得到的唯一返回是
$result = "Enter username and password";
我做错了什么?我要包含 JSON header 还是其他东西???
请在详细 View 中回复,因为我是 android 新手......
输入的是
{"user_email":"ankur@gmail.com","user_password":"123456"}
服务器响应将是
Array{"result":{"id":"1","name":"ankur","email":"ankur@gmail.com","address":"b-block","designation":"devloper","department":"development","balanceleave":"5"}}
登录 php 服务器是:http://demo4u.org/leaveapp/ws/login.php
最佳答案
尝试通过覆盖 JsonObjectRequest
中的 getHeaders()
方法来设置 header
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(...your arguments here) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headerParameters = new HashMap<>();
headerParameters.put("Accept", "application/json");
headerParameters.put("Content-Type", "application/json");
return headerParameters;
}
};
关于java - JSONObject 没有按应有的方式进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469939/
当我运行我的应用程序时,我在控制台中收到一条消息: 2011-11-16 19:17:41.292 Juice[8674:707] Applications are expected to have
我在 JavaScript 中使用了这个语句,但是当我尝试在 TypeScript 项目中使用它时出现错误。它在提示 fetch(...args) const fetcher = (...args)
我是一名优秀的程序员,十分优秀!