how to get data from external server ? is it by webservice or xml ?
Hi everyone. I am new to phonegap, I wonder what is the best/most used way to retrive data from a server. I want to get some values from a server to the phonegap app. I have been serching for this topic, some people use ajax, I tried but it is not working in my case.! and i see that many people are asking the same question.!
Hi everyone. I am new to phonegap, I wonder what is the best/most used way to retrive data from a server. I want to get some values from a server to the phonegap app. I have been serching for this topic, some people use ajax, I tried but it is not working in my case.! and i see that many people are asking the same question.!
- 6 Posts
- 0 Reply Likes
Posted 5 years ago
Petra V., Champion
- 7794 Posts
- 1391 Reply Likes
is it by webservice or xml ?Yes.
The common way is to create a server side script (a web service), which is called using Ajax/XHR from the client, and returns data (usually json or xml, but any other structure would do as well).
What makes your case so special that Ajax "doesn't work"?
- 6 Posts
- 0 Reply Likes
Hello Petra V
I am trying to add my code here but it is not showing.. !!
I have just created a simple webservice and placed in the root directory on my server. And created a javascript code that retrieve data from that webservice in an index.hetml file to be used in phonegap app, when i use the code on my local machine it works fine, but when i try to get data from the server it doesn't return anything.
I am trying to add my code here but it is not showing.. !!
I have just created a simple webservice and placed in the root directory on my server. And created a javascript code that retrieve data from that webservice in an index.hetml file to be used in phonegap app, when i use the code on my local machine it works fine, but when i try to get data from the server it doesn't return anything.
Petra V., Champion
- 7794 Posts
- 1391 Reply Likes
1. To post code here, use the CODE element as described in "some HTML allowed"
2. Your web service and Ajax script might be correct, but perhaps your whitelisting in config.xml isn't.
2. Your web service and Ajax script might be correct, but perhaps your whitelisting in config.xml isn't.
- 6 Posts
- 0 Reply Likes
this is my javascript code:
and this is my websiervice code:
<script >
function initPage() {
document.addEventListener("deviceready", HellowWorld, false);
}
function HellowWorld() {
$.ajax({
type: "POST",
url: "http://myWebSite.com/ws.asmx/HelloWorld",
data: "{}",
crossDomain: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: OnSuccess,
error: OnError
});
}
function OnSuccess(data, status) {
$('#lblResult').html(data.d);
}
function OnError(request, status, error) {
alert("an error has occured..!" + request.statusText + error);
}
</script>
and this is my websiervice code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
[WebService(Namespace = "http://myWebSite.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class ws : System.Web.Services.WebService {
public ws () {
}
[WebMethod]
public string HelloWorld() {
return "Hello World Example";
}
}
- 6 Posts
- 0 Reply Likes
I am trying first to make it works from the index.html file before i go farther to other steps. I am new and this is my first app.
Petra V., Champion
- 7794 Posts
- 1391 Reply Likes
Could you please post your config.xml? As I said:
Your web service and Ajax script might be correct, but perhaps your whitelisting in config.xml isn't.
- 6 Posts
- 0 Reply Likes
this is my config.xml file. I have created this based on a tutorial.
<?xml version="1.0" encoding="UTF-8"?>
<!-- config.xml reference: https://build.phonegap.com/docs/config-xml -->
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "com.phonegap.helloworld"
version = "1.0.0">
<name>Hello World</name>
<description>
Hello World sample application that responds to the deviceready event.
</description>
<author href="http://phonegap.com" email="support@phonegap.com">
PhoneGap Team
</author>
<!--
If you do not want any permissions to be added to your app, add the
following tag to your config.xml; you will still have the INTERNET
permission on your app, which PhoneGap requires.
-->
<preference name="permissions" value="none"/>
<!-- Customize your app and platform with the preference element. -->
<preference name="orientation" value="default" /> <!-- all: default means both landscape and portrait are enabled -->
<preference name="target-device" value="universal" /> <!-- all: possible values handset, tablet, or universal -->
<preference name="fullscreen" value="true" /> <!-- all: hides the status bar at the top of the screen -->
<preference name="webviewbounce" value="true" /> <!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->
<preference name="prerendered-icon" value="true" /> <!-- ios: if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen -->
<preference name="stay-in-webview" value="false" /> <!-- ios: external links should open in the default browser, 'true' would use the webview the app lives in -->
<preference name="ios-statusbarstyle" value="black-opaque" /> <!-- ios: black-translucent will appear black because the PhoneGap webview doesn't go beneath the status bar -->
<preference name="detect-data-types" value="true" /> <!-- ios: controls whether data types (such as phone no. and dates) are automatically turned into links by the system -->
<preference name="exit-on-suspend" value="false" /> <!-- ios: if set to true, app will terminate when home button is pressed -->
<preference name="show-splash-screen-spinner" value="true" /> <!-- ios: if set to false, the spinner won't appear on the splash screen during app loading -->
<preference name="auto-hide-splash-screen" value="true" /> <!-- ios: if set to false, the splash screen must be hidden using a JavaScript API -->
<preference name="disable-cursor" value="false" /> <!-- blackberry: prevents a mouse-icon/cursor from being displayed on the app -->
<preference name="android-minSdkVersion" value="7" /> <!-- android: MIN SDK version supported on the target device. MAX version is blank by default. -->
<preference name="android-installLocation" value="auto" /> <!-- android: app install location. 'auto' will choose. 'internalOnly' is device memory. 'preferExternal' is SDCard. -->
<!--
Define a specific version of PhoneGap to build into your app.
<preference name="phonegap-version" value="3.5.0" />
-->
<!-- Plugins -->
<!-- Core plugins -->
<gap:plugin name="org.apache.cordova.battery-status" />
<gap:plugin name="org.apache.cordova.camera" />
<gap:plugin name="org.apache.cordova.media-capture" />
<gap:plugin name="org.apache.cordova.console" />
<gap:plugin name="org.apache.cordova.contacts" />
<gap:plugin name="org.apache.cordova.device" />
<gap:plugin name="org.apache.cordova.device-motion" />
<gap:plugin name="org.apache.cordova.device-orientation" />
<gap:plugin name="org.apache.cordova.dialogs" />
<gap:plugin name="org.apache.cordova.file" />
<gap:plugin name="org.apache.cordova.file-transfer" />
<gap:plugin name="org.apache.cordova.geolocation" />
<gap:plugin name="org.apache.cordova.globalization" />
<gap:plugin name="org.apache.cordova.inappbrowser" />
<gap:plugin name="org.apache.cordova.media" />
<gap:plugin name="org.apache.cordova.network-information" />
<gap:plugin name="org.apache.cordova.splashscreen" />
<gap:plugin name="org.apache.cordova.vibration" />
<!-- Third party plugins -->
<!-- A list of available plugins are available at https://build.phonegap.com/plugins -->
<!--
<gap:plugin name="com.phonegap.plugins.barcodescanner" />
-->
<!-- Define app icon for each platform. -->
<icon src="icon.png" />
<icon src="icons/android/icon-36-ldpi.png" gap:platform="android" gap:qualifier="ldpi" />
<icon src="icons/android/icon-48-mdpi.png" gap:platform="android" gap:qualifier="mdpi" />
<icon src="icons/android/icon-72-hdpi.png" gap:platform="android" gap:qualifier="hdpi" />
<icon src="icons/android/icon-96-xhdpi.png" gap:platform="android" gap:qualifier="xhdpi" />
<icon src="icons/blackberry/icon-80.png" gap:platform="blackberry" />
<icon src="icons/blackberry/icon-80.png" gap:platform="blackberry" gap:state="hover"/>
<icon src="icons/ios/icon-57.png" gap:platform="ios" width="57" height="57" />
<icon src="icons/ios/icon-72.png" gap:platform="ios" width="72" height="72" />
<icon src="icons/ios/icon-57-2x.png" gap:platform="ios" width="114" height="114" />
<icon src="icons/ios/icon-72-2x.png" gap:platform="ios" width="144" height="144" />
<icon src="icons/webos/icon-64.png" gap:platform="webos" />
<icon src="icons/windows-phone/icon-48.png" gap:platform="winphone" />
<icon src="icons/windows-phone/icon-173.png" gap:platform="winphone" gap:role="background" />
<!-- Define app splash screen for each platform. -->
<gap:splash src="splash/android/screen-ldpi-portrait.png" gap:platform="android" gap:qualifier="port-ldpi" />
<gap:splash src="splash/android/screen-mdpi-portrait.png" gap:platform="android" gap:qualifier="port-mdpi" />
<gap:splash src="splash/android/screen-hdpi-portrait.png" gap:platform="android" gap:qualifier="port-hdpi" />
<gap:splash src="splash/android/screen-xhdpi-portrait.png" gap:platform="android" gap:qualifier="port-xhdpi" />
<gap:splash src="splash/blackberry/screen-225.png" gap:platform="blackberry" />
<gap:splash src="splash/ios/screen-iphone-portrait.png" gap:platform="ios" width="320" height="480" />
<gap:splash src="splash/ios/screen-iphone-portrait-2x.png" gap:platform="ios" width="640" height="960" />
<gap:splash src="splash/ios/screen-iphone-portrait-568h-2x.png" gap:platform="ios" width="640" height="1136" />
<gap:splash src="splash/ios/screen-ipad-portrait.png" gap:platform="ios" width="768" height="1024" />
<gap:splash src="splash/ios/screen-ipad-landscape.png" gap:platform="ios" width="1024" height="768" />
<gap:splash src="splash/windows-phone/screen-portrait.jpg" gap:platform="winphone" />
<gap:config-file platform="ios" parent="CFBundleShortVersionString">
<string>100</string>
</gap:config-file>
<!--
Define access to external domains.
<access /> - a blank access tag denies access to all external resources.
<access origin="*" /> - a wildcard access tag allows access to all external resource.
Otherwise, you can specify specific domains:
<access origin="http://phonegap.com" /> - allow any secure requests to http://phonegap.com/
<access origin="http://phonegap.com" subdomains="true" /> - same as above, but including subdomains, such as http://build.phonegap.com/
<access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.
-->
<access origin="*"/>
<!-- Added the following intents to support the removal of whitelist code from base cordova to a plugin -->
<!-- Whitelist configuration. Refer to https://cordova.apache.org/docs/en/edge/guide_appdev_whitelist_index.md.html -->
<plugin name="cordova-plugin-whitelist" version="1" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
Petra V., Champion
- 7794 Posts
- 1391 Reply Likes
You are building for PGB3.5.0, so could you please remove
and retry?
<plugin name="cordova-plugin-whitelist" version="1" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
and retry?
- 6 Posts
- 0 Reply Likes
first of all I want to be able to get the data from the webservice with an ajax call in the index.html file. I need to get this data back to my index.html file before i go to the next step which is configuring the config.xml file.
- 2 Posts
- 0 Reply Likes
hi i tried removing what you said and did not work. it displays a 404 error. if i leave it as it is, it says status 200 which is ok but nothing is shown in my cellphone which runs android 4.4. i tried using the same code in my laptop and it works perfectly.
this is my config.xlm
<!-- config.xml reference: https://build.phonegap.com/docs/confi... -->
GoCars
Aplicación que permite comprar un vehícuo nuevo de forma fácil y obteniendo las mejores opciones del mercado, ya que son los concesionarios quienes ofertan por un cliente, permitiendole a este último obtener siempre todas las opciones a la mano y escoger la que mas le convenga
GoCars Team
<!--
If you do not want any permissions to be added to your app, add the
following tag to your config.xml; you will still have the INTERNET
permission on your app, which PhoneGap requires.
-->
<!-- Customize your app and platform with the preference element. -->
<!-- all: default means both landscape and portrait are enabled -->
<!-- all: possible values handset, tablet, or universal -->
<!-- all: hides the status bar at the top of the screen -->
<!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->
<!-- ios: if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen -->
<!-- ios: external links should open in the default browser, 'true' would use the webview the app lives in -->
<!-- ios: black-translucent will appear black because the PhoneGap webview doesn't go beneath the status bar -->
<!-- ios: controls whether data types (such as phone no. and dates) are automatically turned into links by the system -->
<!-- ios: if set to true, app will terminate when home button is pressed -->
<!-- ios: if set to false, the spinner won't appear on the splash screen during app loading -->
<!-- ios: if set to false, the splash screen must be hidden using a JavaScript API -->
<!-- blackberry: prevents a mouse-icon/cursor from being displayed on the app -->
<!-- android: app install location. 'auto' will choose. 'internalOnly' is device memory. 'preferExternal' is SDCard. -->
<!--
Define a specific version of PhoneGap to build into your app.
<preference name="phonegap-version" value="3.5.0" />
-->
<!-- Plugins -->
<!-- Core plugins -->
<!-- Third party plugins -->
<!-- A list of available plugins are available at https://build.phonegap.com/plugins -->
<!--
<gap:plugin name="com.phonegap.plugins.barcodescanner" />
-->
<!-- Define app icon for each platform. -->
<!-- Define app splash screen for each platform. -->
100
<!--
Define access to external domains.
<access /> - a blank access tag denies access to all external resources.
<access origin="*" /> - a wildcard access tag allows access to all external resource.
Otherwise, you can specify specific domains:
<access origin="http://phonegap.com" /> - allow any secure requests to http://phonegap.com/
<access origin="http://phonegap.com" subdomains="true" /> - same as above, but including subdomains, such as http://build.phonegap.com/
<access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.
-->
<!-- Added the following intents to support the removal of whitelist code from base cordova to a plugin -->
<!-- Whitelist configuration. Refer to https://cordova.apache.org/docs/en/ed... -->
and this is my index.html
<!DOCTYPE html SYSTEM>
Select a car:
BMW Serie 1 M
Chevrolet Mustang
Renault Logan
Chevrolet Sail
Renault Sandero
Renault Koleos
Car info will be listed here...
consola improvisada
consola improvisada
i dont know why it works fine in my pc but it does not work in my cellphone. any suggestions on what i am doing wrong?
thanks
this is my config.xlm
<!-- config.xml reference: https://build.phonegap.com/docs/confi... -->
GoCars
Aplicación que permite comprar un vehícuo nuevo de forma fácil y obteniendo las mejores opciones del mercado, ya que son los concesionarios quienes ofertan por un cliente, permitiendole a este último obtener siempre todas las opciones a la mano y escoger la que mas le convenga
GoCars Team
<!--
If you do not want any permissions to be added to your app, add the
following tag to your config.xml; you will still have the INTERNET
permission on your app, which PhoneGap requires.
-->
<!-- Customize your app and platform with the preference element. -->
<!-- all: default means both landscape and portrait are enabled -->
<!-- all: possible values handset, tablet, or universal -->
<!-- all: hides the status bar at the top of the screen -->
<!-- ios: control whether the screen 'bounces' when scrolled beyond the top -->
<!-- ios: if icon is prerendered, iOS will not apply it's gloss to the app's icon on the user's home screen -->
<!-- ios: external links should open in the default browser, 'true' would use the webview the app lives in -->
<!-- ios: black-translucent will appear black because the PhoneGap webview doesn't go beneath the status bar -->
<!-- ios: controls whether data types (such as phone no. and dates) are automatically turned into links by the system -->
<!-- ios: if set to true, app will terminate when home button is pressed -->
<!-- ios: if set to false, the spinner won't appear on the splash screen during app loading -->
<!-- ios: if set to false, the splash screen must be hidden using a JavaScript API -->
<!-- blackberry: prevents a mouse-icon/cursor from being displayed on the app -->
<!-- android: app install location. 'auto' will choose. 'internalOnly' is device memory. 'preferExternal' is SDCard. -->
<!--
Define a specific version of PhoneGap to build into your app.
<preference name="phonegap-version" value="3.5.0" />
-->
<!-- Plugins -->
<!-- Core plugins -->
<!-- Third party plugins -->
<!-- A list of available plugins are available at https://build.phonegap.com/plugins -->
<!--
<gap:plugin name="com.phonegap.plugins.barcodescanner" />
-->
<!-- Define app icon for each platform. -->
<!-- Define app splash screen for each platform. -->
100
<!--
Define access to external domains.
<access /> - a blank access tag denies access to all external resources.
<access origin="*" /> - a wildcard access tag allows access to all external resource.
Otherwise, you can specify specific domains:
<access origin="http://phonegap.com" /> - allow any secure requests to http://phonegap.com/
<access origin="http://phonegap.com" subdomains="true" /> - same as above, but including subdomains, such as http://build.phonegap.com/
<access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.
-->
<!-- Added the following intents to support the removal of whitelist code from base cordova to a plugin -->
<!-- Whitelist configuration. Refer to https://cordova.apache.org/docs/en/ed... -->
and this is my index.html
<!DOCTYPE html SYSTEM>
Select a car:
BMW Serie 1 M
Chevrolet Mustang
Renault Logan
Chevrolet Sail
Renault Sandero
Renault Koleos
Car info will be listed here...
consola improvisada
consola improvisada
i dont know why it works fine in my pc but it does not work in my cellphone. any suggestions on what i am doing wrong?
thanks
Related Categories
-
Programming (Others)
- 1167 Conversations
- 23 Followers


