Jquery Ajax总是返回JSON的长度
您好,有人能解释为什么ajax总是返回JSON的长度吗Jquery Ajax总是返回JSON的长度,jquery,ajax,Jquery,Ajax,您好,有人能解释为什么ajax总是返回JSON的长度吗 $(document).ready(function () { $("#addElem").click(function (e) { e.preventDefault(); var val1 = $('#addname').val(); var val2 = $ ('#addprice').val(); $.ajax({ type: 'POST',
$(document).ready(function () {
$("#addElem").click(function (e) {
e.preventDefault();
var val1 = $('#addname').val();
var val2 = $ ('#addprice').val();
$.ajax({
type: 'POST',
url: 'server.php',
dataType:"json",
data: {name: val1, action:'set', price: val2},
success: function( data ){
var ident = $('#text').append( data );
}
}).done(function(data) {
alert(data)
});
});
});
编辑:
这是一个server.php
已解决
这不是我的错,这是一笔Server.php交易。php总是以这种方式工作。
谢谢大家您的PHP代码正在返回
项的长度
数组。这就是你从数据中得到的。这不是JSON的长度,而是服务器端代码返回的长度(数字)
// rest of the code
if($_POST['action'] == 'set') {
if(isset($_POST['name']) && isset($_POST['price'])){
$item = [
'name' => $_POST['name'],
'price' => $_POST['price']
];
$items[] = $item;
file_put_contents('items.json', json_encode($items));
$return = json_encode(count($items)-1); //<<<<<<<<<<<<< Change here if you want
} else {
$return = json_encode(['error' => 'Wrong item details']);
}
}
// rest of the code
//代码的其余部分
如果($_POST['action']=='set'){
如果(isset($_POST['name'])和&isset($_POST['price'])){
$item=[
'name'=>$\u POST['name'],
'price'=>$\u POST['price']
];
$items[]=$item;
文件内容('items.json',json编码($items));
$return=json_encode(count($items)-1);//您的PHP代码正在返回items
array的长度。这是您在数据中得到的。不是json的长度,而是服务器端代码返回的长度(数字)
// rest of the code
if($_POST['action'] == 'set') {
if(isset($_POST['name']) && isset($_POST['price'])){
$item = [
'name' => $_POST['name'],
'price' => $_POST['price']
];
$items[] = $item;
file_put_contents('items.json', json_encode($items));
$return = json_encode(count($items)-1); //<<<<<<<<<<<<< Change here if you want
} else {
$return = json_encode(['error' => 'Wrong item details']);
}
}
// rest of the code
//代码的其余部分
如果($_POST['action']=='set'){
如果(isset($_POST['name'])和&isset($_POST['price'])){
$item=[
'name'=>$\u POST['name'],
'price'=>$\u POST['price']
];
$items[]=$item;
文件内容('items.json',json编码($items));
$return=json_encode(count($items)-1);//$。append
函数接收(htmlString或元素、文本或数组或jQuery
)。
如何使用json
object$。append
?函数success
中的数据
对象是javascript对象。我认为问题隐藏在这里。$。append
函数接收(htmlString或元素、文本、数组或jQuery
)。
如何使用json
object$。append
?函数success
中的data
对象是javascript对象。我认为问题隐藏在这里。这个问题不是很清楚……你是说在$.ajax成功回调中返回的数据只包含json字符串的长度吗?在这种情况下,我t将检查server.php中需要检查的代码。在浏览器中发布处理返回回调F12的php脚本代码,以打开开发人员工具。应该有一个“网络”窗格(或类似窗格)您可以在那里检查发送的确切数据。我几乎更担心的是,如果AJAX接收到某些内容,那是因为这是首先发送的内容。这个问题不是很清楚……您是说在$.AJAX成功回调中返回的数据只包含JSON字符串的长度吗?在这种情况下,它将包含server.php th中的代码at需要检查。在浏览器中发布处理返回回调F12的php脚本代码,以打开开发人员工具。应该有一个“网络”窗格(或类似的窗格),您可以在其中检查发送的确切数据。我几乎更担心的是,如果AJAX接收到某些内容,这是因为首先发送的就是这些内容。