PhoneGap表单提交到远程服务器

发布于 2024-12-13 04:33:17 字数 1573 浏览 0 评论 0原文

这是我的问题: 我在index.html中有一个表单,它将有一个文本输入,该值将是 $.post 到一个应该处理它并返回一个值的php页面。我的代码:

index.html:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>

<script>
    function get(){
        $.post('http://xxx/xxx/get.php', {name: form.name.value},
            function(output){
                $('#result').html(output).show();
            });
    }
</script>

</head>
<body>

<div data-role="page" id="header">

<div data-role="header">
<h1>Header</h1>
</div>

<div data-role="content">

<form name="form" id="form">
    <input type="text" name="name"><input type="button" value="Get Output" onClick="get();">
</form>

<p> result here: </p>
<div id="result"></div>

</div>

<div data-role="footer">
<h4>Footer</h4>
</div>

</div>
</body>
</body>
</html>

和 get.php

<?php
$name = $_POST['name'];
echo $name;
?>

这是用于我的测试目的的简单编码。从代码中我们可以看到,我们在文本字段中输入的任何文本都将在 get.php 中进行处理。因为我把 echo $name 放在那里,所以名称应该显示在 index.html 中的 div id = result 中。我认为我的代码是正确的,但它不起作用。所以我需要这里专家的帮助...我做错了什么?

Here's my problem:
I have a form in index.html, it will have a text input, and the value will be $.post to a php page that should process it and will return a value. My code:

index.html:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>

<script>
    function get(){
        $.post('http://xxx/xxx/get.php', {name: form.name.value},
            function(output){
                $('#result').html(output).show();
            });
    }
</script>

</head>
<body>

<div data-role="page" id="header">

<div data-role="header">
<h1>Header</h1>
</div>

<div data-role="content">

<form name="form" id="form">
    <input type="text" name="name"><input type="button" value="Get Output" onClick="get();">
</form>

<p> result here: </p>
<div id="result"></div>

</div>

<div data-role="footer">
<h4>Footer</h4>
</div>

</div>
</body>
</body>
</html>

and get.php

<?php
$name = $_POST['name'];
echo $name;
?>

This is simple coding for my testing purpose. As we can see from the code, whatever text we input in the textfield will be processed in get.php. Since I put echo $name there, the name SHOULD be shown in div id = result in index.html. I think I got the code right but it just didn't work. So I need help from the experts here... what did I do wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我的影子我的梦 2024-12-20 04:33:17

几点:

1.
将远程服务器添加到白名单...如果您使用的是黑莓,则必须编辑config.xml文件,如果是ios应用程序,则必须更改项目的plist文件。

编辑 2011-11-03: 在 Android 中:
确保此行位于phonegap应用程序清单文件中:
<使用权限 android:name="android.permission.INTERNET">

2.
尝试将此标头添加到 php 文件标头('Access-Control-Allow-Origin: *');

编辑 2011-11-03: 此标头必须包含在 PHP 文件的开头。

  1. $('#result').html(output).show(); show 方法不是必需的,仅当字段具有隐藏属性时才必须使用该方法。

祝你好运!

A few points:

1.
Add the remote server to the whitelist...if you are using blackberry ou must edit the config.xml file, if is a ios app, you must change the plist file of the project.

EDIT 2011-11-03: In Android:
Make sure this line is in phonegap app manifest file:
< uses-permission android:name="android.permission.INTERNET">

2.
Try adding this header to the php file header('Access-Control-Allow-Origin: *');

EDIT 2011-11-03: this header must be included on the beginning of the PHP file.

  1. $('#result').html(output).show(); the show method is not necesary, you must use that only if the field has the hidden attribute.

Good Luck!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文