我不能送我的请求参数bluemix部署的node.js [英] Am not able to send my request parameters to bluemix deployed node.js

查看:247
本文介绍了我不能送我的请求参数bluemix部署的node.js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不能够检索从bluemix部署node.js中响应我的Andr​​oid XML,JAVA code和node.js的code为below.Can给任何人帮我解决这个

Am not able to retrieve response from the bluemix deployed node.js. My android xml, java code and node.js code is given below.Can anyone help me in solving this

我的Andr​​oid XML code:

My android xml code:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
tools:context="com.example.rest.MainActivity" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_centerInParent="true"
    android:orientation="vertical" >      

    <TextView
        android:id="@+id/textreg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:gravity="center"
        android:paddingLeft="20dp"
        android:text="Register here"
        android:textAlignment="center"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#0b84aa"
        android:textSize="25sp"
        android:typeface="serif" />

    <EditText
        android:id="@+id/editTextreg5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:ems="10"
        android:hint="Full Name"
        android:layout_marginRight="15dp"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="20dp"
        android:textColor="#000000"
        android:textSize="20dp"
        android:inputType="textPersonName" />

    <EditText
        android:id="@+id/editTextreg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:ems="10"
        android:hint="Short Id   @ibm.com"
        android:layout_marginRight="15dp"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="20dp"
        android:textColor="#000000"
        android:textSize="20dp"
        android:inputType="textEmailAddress" />




    <EditText
        android:id="@+id/editTextreg2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Password"
        android:layout_marginRight="15dp"
        android:layout_marginLeft="15dp"
        android:textColor="#000000"
        android:textSize="20dp"
        android:inputType="textPassword" />

    <Button
        android:id="@+id/buttonreg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"

        android:layout_marginTop="20dp"
        android:layout_marginRight="15dp"
        android:layout_marginLeft="15dp"
        android:textColor="#0b84aa"
        android:textStyle="bold"
        android:text="Register" />

</LinearLayout>

和我的Java code:

And My java code:

package com.example.rest;
        import java.io.BufferedReader;
        import java.io.InputStream;
        import java.io.InputStreamReader;

      import org.apache.http.HttpEntity;
     import org.apache.http.HttpResponse;
     import org.apache.http.client.HttpClient;
     import org.apache.http.client.methods.HttpGet;
     import org.apache.http.impl.client.DefaultHttpClient;



       import org.json.JSONObject;
      import org.json.JSONException;
       import com.loopj.android.http.AsyncHttpClient;
       import com.loopj.android.http.JsonHttpResponseHandler;
       import com.loopj.android.http.RequestParams;
        import org.apache.http.Header;
     import android.support.v7.app.ActionBarActivity;
      import android.app.ProgressDialog;
     import android.content.Intent;
      import android.os.Bundle;
        import android.util.Log;
       import android.view.Menu;
     import android.view.MenuItem;
     import android.view.View;
    import android.widget.Button;
     import android.widget.EditText;
      import android.widget.TextView;
    import android.widget.Toast;

     public class MainActivity extends ActionBarActivity {


    String url = "http://mobilefeedbackform.mybluemix.net/";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button breg1 = (Button) findViewById(R.id.buttonreg);

        breg1.setOnClickListener(new View.OnClickListener() {



            public void onClick(View v) {

                final EditText Name =(EditText) findViewById(R.id.editTextreg5);
                final EditText Email =(EditText) findViewById(R.id.editTextreg);
                final EditText Passwd =(EditText) findViewById(R.id.editTextreg2);

                if(Name.getText().toString().length()==0)
                {
                    Toast.makeText(MainActivity.this,
                            "Please enter Name", Toast.LENGTH_LONG)
                            .show();
                    return;
                }

                else if(Email.getText().toString().length()==0)
                {
                    Toast.makeText(MainActivity.this,
                            "Please enter EmailId", Toast.LENGTH_LONG)
                            .show();
                    return;
                }

                else if(Passwd.getText().toString().length()==0)
                {
                    Toast.makeText(MainActivity.this,
                            "Please enter Password", Toast.LENGTH_LONG)
                            .show();
                    return;
                }
                else
                {
                    String result = null;
                    String nametxt = Name.getText().toString();
                    String emailtxt = Email.getText().toString();
                    String passwdtxt = Passwd.getText().toString();

                  //this is the route of your Node.js service on Bluemix
                    //String yourNodeJsBluemixRoute = "mobilefeedbackform.mybluemix.net";//http://mobilefeedbackform.mybluemix.net/
                    String url = "http://mobilefeedbackform.mybluemix.net/";
                    // These are just example strings, you can use your own here
                    Toast.makeText(MainActivity.this,
                            "Before sending "+ nametxt + emailtxt + passwdtxt, Toast.LENGTH_LONG)
                            .show();
                    // Create necessary objects
                    HttpClient httpClient = new DefaultHttpClient();

                    try
                    {
                        Toast.makeText(MainActivity.this,
                                "Inside try ", Toast.LENGTH_LONG)
                                .show();
                        //httpResponse = http.get(RESTSERVICEURI + "/?deviceid=" + deviceId + "&latitude=" + String.valueOf(gps.getLatitude()) + "&longitude=" + String.valueOf(gps.getLongitude())); 
                    HttpGet httpGet = new HttpGet(url+"?name=" + nametxt + "&email=" + emailtxt + "&passwd=" + passwdtxt);
                    Toast.makeText(MainActivity.this,
                            "After sending ", Toast.LENGTH_LONG)
                            .show();
                    HttpResponse httpResponse = httpClient.execute(httpGet);
                    HttpEntity httpEntity = httpResponse.getEntity();
                    Toast.makeText(MainActivity.this,
                            "Got response ", Toast.LENGTH_LONG)
                            .show();
                    if (httpEntity != null)
                    {
                        Toast.makeText(MainActivity.this,
                                "Inside If ", Toast.LENGTH_LONG)
                                .show();
                    InputStream inputstream = httpEntity.getContent();
                    BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(inputstream));
                    StringBuilder stringbuilder = new StringBuilder();

                    String currentline = null;
                    while ((currentline = bufferedreader.readLine()) != null)
                    {
                        Toast.makeText(MainActivity.this,
                                "Inside while ", Toast.LENGTH_LONG)
                                .show();
                    stringbuilder.append(currentline + "\n");
                    }

                    result = stringbuilder.toString();
                    inputstream.close();
                    }

                    return;
                    }
                    catch (Exception e)
                    {
                        e.printStackTrace();
                        }
                }
            }
            });
    }
}

和我的node.js code是:

and my node.js code is:

 var express    = require('express');
app         = express();



var http = require('http');
var url = require('url');

  var PORT = (process.env.VCAP_APP_PORT || 8000);
 var HOST = (process.env.VCAP_APP_HOST || 'localhost');

 var queryData = null;

  http.createServer(function(request, response) {
  queryData = url.parse(request.url, true).query;
   console.log("Hai3");
  //respond to the client
   response.write("Got the GET request");
   response.end();
   }).listen(PORT, HOST);

谁能帮我在这个问题?

Can anyone help me in this issue?

推荐答案

在您的Node.js code,你应该使用 request.query 。这将返回您的查询字符串的对象作为键值对。

In your Node.js code you should be using request.query. This will return an object of your query string as a key value pair.

这篇关于我不能送我的请求参数bluemix部署的node.js的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆