Cordova - jquery ajax 发布到服务器上的 php
Posted
技术标签:
【中文标题】Cordova - jquery ajax 发布到服务器上的 php【英文标题】:Cordova - jquery ajax post to php on server 【发布时间】:2017-09-09 12:05:07 【问题描述】:我想创建一个基于令牌的系统,我想将输入字段的值推送到我的服务器端 php 文件以将其插入到我的数据库中。
科尔多瓦 html:
<input type="text" class="valueToken" name="usertoken" >
<button class="postToken">PostToken</button>
科尔多瓦 js:
$('.postToken').click(function()
console.log($('.valueToken').val());
var tokenValue = $('.valueToken').val();
$.ajax(
type: "POST",
url: "http://domainName.com/fysioWebapp/php/get_token.php",
data: 'dataString': tokenValue ,
cache: false,
success: function()
alert("Order Submitted");
);
);
这是我的服务器端 php:
<?php
include("connect.php");
$stringData = $_POST['tokenValue'];
echo $stringData
$insertToken = "INSERT INTO User_Token VALUES ('$stringData')";
$tokenresult = mysqli_query($conn, $sql);
if($tokenresult)
echo "Successful";
else
echo("Error description: " . mysqli_error($conn));
?>
但它没有将数据发布到我的 get_token.php 文件我在这里缺少什么?
这是科尔多瓦方面的错误:POST http://domainName.com/fysioWebapp/php/get_token.php 500 (Internal Server Error)
【问题讨论】:
奇怪的东西...没有表格?为什么 input 的名称为usertoken
而您不尝试使用该 $var ?加上您将获得的 $vars 是 usertoken
@OldPadawan 是的,不要介意 html 中的名称。但是我不尝试使用 $var insteas of html 值是什么意思?
写作时出错,抱歉:/ 所以我编辑了。您通过 Ajax 传递的数据是 usertoken
though
所以在ajax数据中使用输入的名称而不是get.val()
:?
请看答案
【参考方案1】:
编辑:
如果您的 php 代码出现语法错误等致命错误并且错误显示已关闭,则会显示 500 Internal Server Error。
在你的 php 文件中尝试添加:
ini_set('display_errors', 1);
在.htaccess文件中添加:
php_flag display_errors 1
在查看如何在 PHP 中调试 500 个错误时找到了类似的答案。
原文:
试试这个代码。
JS
$('.postToken').click(function()
console.log($('.valueToken').val());
var tokenValue = $('.valueToken').val();
$.ajax(
type: "POST",
url: "http://domainName.com/fysioWebapp/php/get_token.php",
data: dataString: tokenValue ,
cache: false,
success: function()
alert("Order Submitted");
);
);
PHP
<?php
include("connect.php");
$stringData = $_POST['dataString'];
echo $stringData
$insertToken = "INSERT INTO User_Token VALUES ('$stringData')";
$tokenresult = mysqli_query($conn, $insertToken);
if($tokenresult)
echo "Successful";
else
echo "Error description: " . (mysqli_error($conn));
?>
【讨论】:
马上试试这个 cordova 应用程序中的相同错误:` jquery.min.js:4 POST DomainName.com/fysioWebapp/php/get_token.php 500(内部服务器错误)` 该网页不存在。如果我将 URL 复制到浏览器中,它会将我带到 domainname.com 并说页面不存在。我怀疑你对此也有错误。也会用这个更新我的答案。 因为域名 = sylvanreinieren 哦,顺便说一句 $tokenresult = mysqli_query($conn, $insertToken)【参考方案2】:我已经输入了一些几乎与你相同的名称/值,但我对 Ajax 有一点不同,因为我习惯这样做......你必须适应你的需要 :) 编辑:您没有在 get_token.php 中获得正确的 $vars,因为使用了错误的名称。
<script type="text/javascript">
$(document).ready(function()
$("#submit").click(function(e)
e.preventDefault();
console.log($('.valueToken').val());
var tokenValue = $('.valueToken').val();
$.ajax(
method: "POST",
url: "get_token.php",
data: "token="+tokenValue,
success: function(html) alert(html);
);
);
);
</script>
<form action="#" id="form" method="post">
<input type="text" class="valueToken" name="usertoken" >
<input type="submit" class="postToken" id="submit" value="PostToken" />
</form>
/-- get_token.php --/
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$token = $_POST['token'];
echo"[ $token ]";
?>
【讨论】:
我会收到这个错误:Notice: Undefined index: token in /php/get_token.php on line 21
@Sreinieren:你修改了什么吗?添加一些东西?只是选择我的代码的一部分进入你的?因为它确实有效:)
不,只是准确地复制了您的代码,但我将帖子从科尔多瓦应用程序发布到网络服务器上的 php。
@Sreinieren : on line 21
我有 10 线代码怎么可能?
在移动应用程序中没有错误,它会提醒消息值。但是当我使用特定的 get_token.php 访问网站时,我会收到该错误..以上是关于Cordova - jquery ajax 发布到服务器上的 php的主要内容,如果未能解决你的问题,请参考以下文章
jQuery Ajax在cordova iOS应用程序上发送之前成功
使用 Cordova 10 的应用内 AJAX 无法在 iOS 中运行
升级到 Cordova 5.0 + cordova-android@4.0 后 Ajax 请求失败
Phonegap / Cordova:jQuery 发布到外部服务器不起作用