PhoneGap表单提交到远程服务器

3
这是我的问题: 我在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中。我认为我的代码没问题,但它就是不起作用。所以我需要这里专家的帮助... 我做错了什么?

1个回答

3

几点注意:

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

更新 2011-11-03: 在Android中: 确保此行在phonegap应用程序清单文件中:< uses-permission android:name="android.permission.INTERNET">

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

更新 2011-11-03: 此标头必须包含在PHP文件开头。

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

祝好运!


嗨,谢谢回复,不过,
  1. 如何配置白名单?我正在制作Android应用程序。
  2. 如何将('Access-Control-Allow-Origin:*')添加到头文件中?只需将单词复制粘贴到<head>中吗? 谢谢。对我的无知表示歉意。
- ShuFaz
非常感谢!我已经编辑了Android清单,结果很好。再次感谢! - ShuFaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接