![](/img/trans.png)
[英]How do I pass return values from a javascript function to android?
[英]I've received an HTTP POST from an android app in my jsp server, how do I pass that data into a Javascript function
我的jsp文件中有這個:
<form name='form1'>
<input type='hidden' name=NAME value=<%=request.getParameter("name")%> />
</form>
它有效,當我通過android提交它時,我得到了“名稱”,但隨后又恢復為null。 我如何使其保持“名稱”?
另外,我將request.getParameter放在一個表單中,以便能夠使用“ document.form1.NAME.value”訪問我的js代碼中的值
進一步說明:在服務器控制台上打印“ request.getParameter”給我的內容時,我會通過Android應用程序上的“提交”按鈕獲取要發送的值,然后是兩個null。
所以我得到:
實際價值
空值
空值
看來jsp運行了三遍? 並將request.getParameter設置回null?
工作流程:
我有一個Android應用程序,當您單擊“提交”按鈕時,會將用戶輸入的任何字符串(在應用程序的文本框中)發送到上面帶有jsp文件的Tomcat服務器。
然后,我的jsp文件讀取請求。
我的JavaScript需要的是字符串(它需要字符串,對其進行修改,然后顯示帶有已修改字符串的警報)。
可能是因為在我發送請求之后打開jsp文件時,它找不到先前的請求嗎?
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("Tomcat server with my.jsp");
EditText nameBox = (EditText)findViewById(R.id.name);
String n = nameBox.getText().toString();
try
{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("name", n));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
}
catch (ClientProtocolException e)
{
}
catch (IOException e)
{
}
String url = "The same server and same.jsp file";
Intent webIntent = new Intent(Intent.ACTION_VIEW);
webIntent.setData(Uri.parse(url));
startActivity(webIntent);
嘗試使用適當的引號:
<form name='form1'>
<input type='hidden' name='NAME' value='<%= request.getParameter("name") %>' />
</form>
嘗試將腳本變量直接設置為
var name = '<%= request.getParameter ("name") %>';
編輯 :
是的,您要發出兩個不同的HTTP請求。 webIntent.setData(Uri.parse(url)); 會發出一個新請求,而該請求不會提交name post參數。 您需要以某種方式呈現應用程序中之前收集的響應。
HttpResponse response = httpclient.execute(httppost);
由於這是設置名稱/值對的請求,因此將設置JavaScript變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.