Javascript JSURL在android中不起作用

Javascript JSURL在android中不起作用,javascript,android,Javascript,Android,您好,在我的应用程序中,我使用这个js文件来获取json响应 xamp->htdoc->node chat->node_modules->config->request这是文件的路径 在客户端,我使用这样的路径 UserFragment.java public class UserFragment extends Fragment { ListView list; ArrayList<HashMap<String, String>> users = new ArrayL

您好,在我的应用程序中,我使用这个js文件来获取json响应
xamp->htdoc->node chat->node_modules->config->request
这是文件的路径

在客户端,我使用这样的路径

UserFragment.java

public class UserFragment extends Fragment {
ListView list;
ArrayList<HashMap<String, String>> users = new ArrayList<HashMap<String, String>>();
Button refresh,logout;
List<NameValuePair> params;
SharedPreferences prefs;


@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {
    View view =inflater.inflate(R.layout.user_fragment, container, false);
    prefs = getActivity().getSharedPreferences("Chat", 0);

    list = (ListView)view.findViewById(R.id.listView);
    refresh = (Button)view.findViewById(R.id.refresh);
    logout = (Button)view.findViewById(R.id.logout);
    logout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new  Logout().execute();

        }
    });
    refresh.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.content_frame)).commit();
            Fragment reg = new UserFragment();
            FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.replace(R.id.content_frame, reg);
            ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
            ft.addToBackStack(null);
            ft.commit();

        }
    });
    new Load().execute();

    return view;
}

private class Load extends AsyncTask<String, String, JSONArray> {

    @Override
    protected JSONArray doInBackground(String... args) {
        JSONParser json = new JSONParser();
        params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("mobno", prefs.getString("REG_FROM","")));
        JSONArray jAry = json.getJSONArray("http://10.0.2.2:8080/node-chat/getuser",params);

        return jAry;
    }
    @Override
    protected void onPostExecute(JSONArray json) {
        for(int i = 0; i < json.length(); i++){
            JSONObject c = null;
            try {
                c = json.getJSONObject(i);
                String name = c.getString("name");
                String mobno = c.getString("mobno");
                HashMap<String, String> map = new HashMap<String, String>();
                map.put("name", name);
                map.put("mobno", mobno);
                users.add(map);
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
        ListAdapter adapter = new SimpleAdapter(getActivity(), users,
                R.layout.user_list_single,
                new String[] { "name","mobno" }, new int[] {
                R.id.name, R.id.mobno});
        list.setAdapter(adapter);
        list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                Bundle args = new Bundle();
                args.putString("mobno", users.get(position).get("mobno"));
                Intent chat = new Intent(getActivity(), ChatActivity.class);
                chat.putExtra("INFO", args);
                startActivity(chat);
            }
        });
    }
}
private class Logout extends AsyncTask<String, String, JSONObject> {

    @Override
    protected JSONObject doInBackground(String... args) {
        JSONParser json = new JSONParser();
        params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("mobno", prefs.getString("REG_FROM","")));
        JSONObject jObj = json.getJSONFromUrl("http://10.0.2.2:8080/node-chat/logout",params);

        return jObj;
    }
    @Override
    protected void onPostExecute(JSONObject json) {

        String res = null;
        try {
            res = json.getString("response");
            Toast.makeText(getActivity(),res,Toast.LENGTH_SHORT).show();
            if(res.equals("Removed Sucessfully")) {
                Fragment reg = new LoginFragment();
                FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.replace(R.id.content_frame, reg);
                ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
                ft.addToBackStack(null);
                ft.commit();
                SharedPreferences.Editor edit = prefs.edit();
                edit.putString("REG_FROM", "");
                edit.commit();
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }



    }
}
request.js

var request = require('request');
var mysql = require('mysql');

var connection = mysql.createConnection(
    {
      host     : 'localhost',
      user     : 'root',
      password : '',
      database : 'chat',
    }
);

connection.connect();


exports.login = function(name,mobno,reg_id,callback) {

var data = {

            name    : name,
            mobno :  mobno,
            reg_id   : reg_id


        };
var que = "SELECT * from users WHERE mobno =" + mobno;

 var query = connection.query(que, function(err, rows)
        {
          if(rows.length == 0){
            var query = connection.query("INSERT INTO users set ? ",data, function(err, rows)
        {

          callback({'response':"Sucessfully Registered"});

        });
          }else {

           callback({'response':"User already Registered"});

          }

        });


}


exports.getuser = function(mobno,callback) {



 var query = connection.query("SELECT * from users", function(err, rows)
        {
          if(rows.length == 0){
            callback({'response':"No Users Registered"});
          }else {

          callback(removeUser(rows, mobno));

          }

        });

}


exports.removeuser = function(mobno,callback) {

var que = "DELETE FROM users  WHERE mobno =" + mobno;

var query = connection.query(que, function(err, rows)
        {

             if(!err){

    callback({'response':"Removed Sucessfully"});
  }else{
    callback({'response':"Error"});
  }  
        });
}



exports.send = function(fromn,fromu,to,msg,callback) {

var que = "SELECT * from users WHERE mobno =" + to;

 var query = connection.query(que, function(err, rows)
        {
          if(rows.length == 0){
            callback({'response':"Failure"});

          }else {


    var to_id = rows[0].reg_id;
    var name = rows[0].name;

request(
    { method: 'POST', 
    uri: 'https://android.googleapis.com/gcm/send',
    headers: {
        'Content-Type': 'application/json',
        'Authorization':'xxxxxxx'
    },
    body: JSON.stringify({
  "registration_ids" : [to_id],
  "data" : {
    "msg":msg,
    "fromu":fromu,
    "name":fromn
  },
  "time_to_live": 108
})
    }
  , function (error, response, body) {

      callback({'response':"Success"});
    }
  )
}});

}

function removeUser(arr, val) {
    for(var i=0; i<arr.length; i++) {
        if(arr[i].mobno == val) {
            arr.splice(i, 1);
            return arr;
            break;
        }
    }
}
var request=require('request');
var mysql=require('mysql');
var connection=mysql.createConnection(
{
主机:“localhost”,
用户:'根',
密码:“”,
数据库:“聊天室”,
}
);
connection.connect();
exports.login=函数(名称、mobno、注册id、回调){
风险值数据={
姓名:姓名,,
莫布诺:莫布诺,
注册号:注册号
};
var que=“从用户中选择*,其中mobno=“+mobno;
var query=connection.query(que,函数(err,行)
{
如果(rows.length==0){
var query=connection.query(“插入用户集?”,数据,函数(err,行)
{
回调({'response':“成功注册”});
});
}否则{
回调({'response':“用户已注册”});
}
});
}
exports.getuser=函数(mobno,回调){
var query=connection.query(“从用户中选择*”,函数(err,行)
{
如果(rows.length==0){
回调({'response':“未注册用户”});
}否则{
回调(removeUser(rows,mobno));
}
});
}
exports.removeuser=函数(mobno,回调){
var que=“从用户中删除,其中mobno=“+mobno;
var query=connection.query(que,函数(err,行)
{
如果(!err){
回调({'response':“已成功删除”});
}否则{
回调({'response':“Error”});
}  
});
}
exports.send=函数(fromn、fromu、to、msg、callback){
var que=“从用户中选择*,其中mobno=“+to”;
var query=connection.query(que,函数(err,行)
{
如果(rows.length==0){
回调({'response':“Failure”});
}否则{
var to_id=行[0]。reg_id;
变量名称=行[0]。名称;
请求(
{方法:'POST',
uri:'https://android.googleapis.com/gcm/send',
标题:{
“内容类型”:“应用程序/json”,
“授权”:“xxxxxxx”
},
正文:JSON.stringify({
“注册id”:[注册id],
“数据”:{
“味精”:味精,
“fromu”:fromu,
“姓名”:fromn
},
“生存时间”:108
})
}
,函数(错误、响应、正文){
回调({'response':“Success”});
}
)
}});
}
函数removeUser(arr、val){

对于(var i=0;我能告诉你在哪里定义/注销路由吗?我看不到。对不起,刚才我编辑了我的帖子。好吧,我知道了,这是一个不同的路由。但现在的问题是,我仍然看不到你在哪里定义哪个函数处理对该路由的调用?这只是我在问如何给出路由我认为你应该考虑像Connect这样的东西或者Express.js。
var request = require('request');
var mysql = require('mysql');

var connection = mysql.createConnection(
    {
      host     : 'localhost',
      user     : 'root',
      password : '',
      database : 'chat',
    }
);

connection.connect();


exports.login = function(name,mobno,reg_id,callback) {

var data = {

            name    : name,
            mobno :  mobno,
            reg_id   : reg_id


        };
var que = "SELECT * from users WHERE mobno =" + mobno;

 var query = connection.query(que, function(err, rows)
        {
          if(rows.length == 0){
            var query = connection.query("INSERT INTO users set ? ",data, function(err, rows)
        {

          callback({'response':"Sucessfully Registered"});

        });
          }else {

           callback({'response':"User already Registered"});

          }

        });


}


exports.getuser = function(mobno,callback) {



 var query = connection.query("SELECT * from users", function(err, rows)
        {
          if(rows.length == 0){
            callback({'response':"No Users Registered"});
          }else {

          callback(removeUser(rows, mobno));

          }

        });

}


exports.removeuser = function(mobno,callback) {

var que = "DELETE FROM users  WHERE mobno =" + mobno;

var query = connection.query(que, function(err, rows)
        {

             if(!err){

    callback({'response':"Removed Sucessfully"});
  }else{
    callback({'response':"Error"});
  }  
        });
}



exports.send = function(fromn,fromu,to,msg,callback) {

var que = "SELECT * from users WHERE mobno =" + to;

 var query = connection.query(que, function(err, rows)
        {
          if(rows.length == 0){
            callback({'response':"Failure"});

          }else {


    var to_id = rows[0].reg_id;
    var name = rows[0].name;

request(
    { method: 'POST', 
    uri: 'https://android.googleapis.com/gcm/send',
    headers: {
        'Content-Type': 'application/json',
        'Authorization':'xxxxxxx'
    },
    body: JSON.stringify({
  "registration_ids" : [to_id],
  "data" : {
    "msg":msg,
    "fromu":fromu,
    "name":fromn
  },
  "time_to_live": 108
})
    }
  , function (error, response, body) {

      callback({'response':"Success"});
    }
  )
}});

}

function removeUser(arr, val) {
    for(var i=0; i<arr.length; i++) {
        if(arr[i].mobno == val) {
            arr.splice(i, 1);
            return arr;
            break;
        }
    }
}