PhoneGap表单提交到远程服务器
这是我的问题: 我在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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几点:
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 文件的开头。
祝你好运!
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.
Good Luck!