Проблема для отображения данных со стороны сервера MySQL на телефон WebOS! - PullRequest
1 голос
/ 21 июня 2011

Я новичок в WebOS Dev и только начал до недели. Итак, нужна небольшая помощь. За последние 2 дня я застрял в одной проблеме. Я хочу отобразить данные со стороны сервера на мобильном клиенте, с помощью примера проекта Palm я могу отображать статические данные на мобильном телефоне клиента (отображать каждый раз те же значения данных). Но я хочу опубликовать значение из текстового поля (Показать данные, которые публикуются через текстовое поле).

если вы уже установили Webos SDK, вы можете найти исходный код здесь

C:\Program Files\Palm\SDK\share\samplecode\samples\Data\.... просто попробуйте запустить оба метода AJAX GET и AJAX POST, я хочу сделать что-то вроде метода AJAX GET (Google ex.)

мой модифицированный код

ajaxPost-assistant.js (я хочу добавить текстовое поле в этот код и отобразить данные, размещенные на этой странице)

var myassistant = null;
function AjaxPostAssistant()
{

}
AjaxPostAssistant.prototype.setup=function()
{
    myassistant = this;
    this.textFieldAtt = {
            hintText: 'hint',
            textFieldName:  'name', 
            modelProperty:      'original', 
            multiline:      false,
            disabledProperty: 'disabled',
            focus:          true, 
            modifierState:  Mojo.Widget.capsLock,
            limitResize:    false, 
            holdToEnable:  false, 
            focusMode:      Mojo.Widget.focusSelectMode,
            changeOnKeyPress: true,
            textReplacement: false,
            maxLength: 30,
            requiresEnterKey: false
    };
    this.model = {
        'original' : 'Palm',
        disabled: false
    };
    this.controller.setupWidget('sendField', this.textFieldAtt, this.model);
    this.buttonModel1 = {
        buttonLabel : 'Push to send post',
        buttonClass : '',
        disable : false
    }
    this.buttonAtt1 = {
        //type : 'Activity'
    }

    this.controller.setupWidget('post_button',this.buttonAtt1,this.buttonModel1)
    Mojo.Event.listen(this.controller.get('post_button'),Mojo.Event.tap,this.handlePost.bind(this));


}

AjaxPostAssistant.prototype.handlePost=function(event)
{
     var posturl='http://openxcellca.info/Parthvi/webos/ajaxpost1.php';

     var postdata='fname=Ajay';
     var myAjax = new Ajax.Request(posturl, {
        method: 'post',
        evalJSON: 'force',
        postBody: postdata,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (transport.status == 200) 
                myassistant.controller.get('area-to-update').update('Success!');
            else {
                myassistant.controller.get('area-to-update').update('Failure!');
            }
            myassistant.controller.get('server-response').update('Server Response: \n' + transport.responseText);           
        },
        onFailure: function(transport){
            myassistant.controller.get('area-to-update').update('Failure!\n\n' + transport.responseText);
        }
     });

}
AjaxPostAssistant.prototype.activate = function(event) {
    /* put in event handlers here that should only be in effect when this scene is active. For
       example, key handlers that are observing the document */
}


AjaxPostAssistant.prototype.deactivate = function(event) {
    /* remove any event handlers you added in activate and do any other cleanup that should happen before
       this scene is popped or another scene is pushed on top */
}

AjaxPostAssistant.prototype.cleanup = function(event) {
    /* this function should do any cleanup needed before the scene is destroyed as 
       a result of being popped off the scene stack */
}

ajaxPost-scene.htm

<div x-mojo-element="Button" id="post_button"></div>

<div id="area-to-update"></div>
<br>
<div id="server-response"></div>

ajaxpost1.php

<?php
$con = mysql_connect("localhost","user","pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("db", $con);
$qry = "SELECT * FROM user WHERE fname='.$_POST['fname'].'";
$result = mysql_query($qry);
while($row = mysql_fetch_array($result))
  {
  echo "Name:-".$row['fname'];
  echo "<br />";
  echo "E-mail:-".$row['email'];
  echo "<br />";
  echo "Phone:-".$row['phone'];
  echo "<br />";
  }

mysql_close($con);
?>

Пожалуйста, помогите мне, я хочу сделать одно приложение синхронизации для моего проекта колледжа. И мне нужно закончить за эти 3 недели.

1 Ответ

1 голос
/ 28 июня 2011

Я не эксперт по WebOS, но сначала убедитесь, что ваш PHP-скрипт на стороне сервера отправляет JSON.Намного яснее ответить на этот вопрос: см. Мой вопрос здесь

Тогда это должно быть довольно просто.

...