我有一个Android应用程序和一个非常简单的Web服务,可以在具有3个值的数据库中进行插入。
钛代码与文档中给出的示例最相似
var xhr = Ti.Network.createHTTPClient();
xhr.onload = function(e) {};
xhr.open('POST','http://www.micheleantonaci.altervista.org/test/foobar.php');
xhr.send({
"latitude":00100,
"longitude":10000,
"type":'From Nexus'
});
,网络服务只是
<?php
$con=mysql_connect('http://www.micheleantonaci.altervista.org/','***','***');
mysql_select_db('***',$con);
if(isset($_REQUEST['submit']))
{
$latitude=$_POST['latitude'];
$longitude=$_POST['longitude'];
$kind=$_POST['type'];
$sql="insert into foobar (latitude,longitude,type) values ('$latitude','$longitude','$kind')";
$res=mysql_query($sql) or die (mysql_error());
}
?>
现在,当我尝试使用浏览器提供值的webservice时,它运行良好,但是对于应用程序,我没有得到任何结果,任何建议?应用程序不会崩溃或记录任何错误
答案 0 :(得分:1)
您必须使用PHP函数json_decode
来获取值。
答案 1 :(得分:0)
尝试添加标题:
xhr.setRequestHeader("Content-Type", "application/json");
你还应该在你的PHP中做一个var_dump($ _ POST),看看里面有什么,不确定你会把你的东西放在分开的变量中......
答案 2 :(得分:0)
当我看到这样的问题时,我设置了'Charles'或类似的代理,让设备通过代理发送它的请求。然后,您可以查看设备是否发送了预期的内容。
您也可以尝试
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
答案 3 :(得分:0)
代码是对的,问题出在框架本身上,当天post方法无效。 现在已经修好了。