我是PHP的新手,并且是PHP的ajax,我从服务器获取结果,但我的JSON无法解析。
这是我的PHP代码:
<?php
header("Access-Control-Allow-Origin: *");
header('Content-type: application/json');
require 'connection.php';
$ReturnObject = (object) [
'error' => false,
'errorMessage' => "",
'data' => "1"
];
echo json_encode($ReturnObject);
?>
和我的javascript:
$.ajax({
dataType: 'text',
url: serverUrl + "test.php",
type: "POST",
data: { email: "" },
success: function (data) {
JSON.parse(data);
alert("Thank you for subscribing!");
},
error: function (requestObject, error, errorThrown) {
alert("There was an error. Try again please!");
}
});
我收到此错误:
未捕获到的SyntaxError:JSON中位置0的意外令牌
但是数据是:
"{"error":false,"errorMessage":"","data":"1"}"
现在过了一段时间,我搬走了
require 'connection.php';
然后将代码粘贴为:
<?php
header("Access-Control-Allow-Origin: *");
header('Content-type: application/json');
$servername = "localhost";
$database = "testMe";
$username = "Mika";
$password = "123123";
$conn = mysqli_connect($servername, $username, $password, $database); // Establishing Connection with Server..
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$ReturnObject = (object) [
'error' => false,
'errorMessage' => "",
'data' => "1"
];
echo json_encode($ReturnObject);
?>
并使用相同的JS,可以正确解析且没有错误。并返回相同的数据:
"{"error":false,"errorMessage":"","data":"1"}"
我在需求方面做错了吗?这不是连接的问题,因为连接成功,我可以查询数据库
参考方案
应该没有问题,可以预期由于某种原因要求'connection.php'打印一些错误,尝试console.log(data),并确保现在以JSON格式打印连接错误die(“连接失败: “ ...只会输出一个字符串。因此javascript无法将其解析为JSON对象。
防止Javascript解码编码的HTML - php首先,我要说Java语言不是我的强项,而我为获取有关此主题的信息所做的所有搜索都导致了如何处理url编码/解码字符串。我在处理类似于以下内容的代码时遇到了麻烦:<a href="#" onclick="<?php echo "alert(''');"; ?>…
PHP Javascript更改浏览器后退按钮行为Laravel - javascript我知道有各种各样的线程要求几乎相同的要求,但似乎没有一个真正满足我的需求。在我的网站上,我实现了搜索表单。一个简单的表单,其中包含一个名为searchQuery的输入字段和一个提交按钮。表单通过POST方法发送。我正在使用Laravel btw。。然后将搜索结果从控制器加载到视图中。这些在表中显示。现在来了有趣的部分:找到的元素是可单击的,并且您进入有关该元…
Javascript-从当前网址中删除查询字符串 - javascript单击提交按钮后,我需要从网址中删除查询字符串值。我可以用jQuery做到这一点吗?当前网址:siteUrl/page.php?key=value 页面提交后:siteUrl/page.php 实际上,我已经从另一个带有查询字符串的页面着陆到当前页面。我需要在页面首次加载时查询字符串值以预填充一些详细信息。但是,一旦我提交了表格,我就需要删除查询字符串值。我已…
使用JS和PHP更改弹出窗口背景图像 - javascript我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …
执行onclick时获得意外令牌 - javascript我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…