2013-07-23 76 views
1

我想通過Trigger.io將應用程序部署到android。儘管應用程序設法初始加載,但我無法通過應用程序訪問遠程服務器。而試圖通過遠程服務器(如下圖所示)無法通過Trigger.io運行Android應用程序時到達遠程服務器

我使用下面的代碼的用戶名和密碼值提交給遠程服務器

$.post "#{window.Public.domain}/users/login", 
    nickname: $('input.username').val() 
    password: $('input.password').val() 

enter image description here

enter image description here登錄我收到一個錯誤

我部署了相同的應用程序到IOS,它運行正常,即訪問相同的遠程服務器不是一個問題

任何人都有一個想法,爲什麼我無法訪問Android環境上的遠程服務器,而我在IOS環境中沒有問題?

附加的清單以供參考

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="io.trigger.forge9b9f8cdedc7f11e2bd4912313d00dc45" android:installLocation="auto" android:versionCode="1374544692" android:versionName="0.1"> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="15" /> 

<application android:icon="@drawable/icon" android:label="Fulfilled" android:name="io.trigger.forge.android.core.ForgeApp"> 
    <activity android:configChanges="mcc|mnc|locale|touchscreen|keyboardHidden|navigation|orientation|screenLayout|uiMode|fontScale|screenSize" android:launchMode="singleTask" android:name="io.trigger.forge.android.core.ForgeActivity" android:stateNotNeeded="true" android:theme="@android:style/Theme.Black.NoTitleBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <provider android:authorities="io.trigger.forge9b9f8cdedc7f11e2bd4912313d00dc45" android:exported="true" android:name="io.trigger.forge.android.core.ForgeContentProvider" tools:ignore="ExportedContentProvider" /> 
</application> 

UPDATE:

試圖從詹姆斯的建議,使用.post的$向forge.request改變。

現在,當我試圖調用服務器,我得到這個錯誤回到

[警告] java.net.ConnectException:本地主機/ 127.0.0.1:9000 - 拒絕連接 在org.apache [警告]。在java.net上的[WARNING] org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533) [WARNING]。 Socket.connect(Socket.java:1055) [WARNING] at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection。(HttpConnection.java:62) [WARNING] at org.apache .harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool的.java:88)

我在我的應用程序服務器後指定的域是這樣

forge.request.ajax 
    url: "http://localhost:9000/users/login.json" 
    type: "POST" 
    data: 
    nickname: $('input.username').val() 
    password: $('input.password').val() 

的IOS部署上述作品。是否有其他需要我照顧的配置?

+0

如何提交該表單?有跨域安全限制要考慮,因爲你的應用程序運行在不同的方案和域到遠程服務器... –

+0

@JamesBrady我正在使用$ .post來提交用戶名和密碼值。我已經使用代碼 – Zhen

回答

2

如果沒有來自Trigger.io應用程序的額外配置,跨域XHR請求是不可能的。

在這種情況下,您應該可以使用forge.request.ajax提交表格:https://trigger.io/docs/current/api/modules/request.html

在其他情況下,如果不可能使用請求模塊,則可以在服務器端設置Access-Control-Allow-*標頭,以便正常的XHR工作:https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS

+0

更新了OP謝謝!我會試試看。我並沒有想過這樣做,因爲它適用於IOS部署。 – Zhen

+0

嗨,我試過了在android模擬器上,我得到一個錯誤。我用錯誤更新了OP。如果你能幫忙看看會很棒。 – Zhen

相關問題