gpt4 book ai didi

javascript - 使用ajax将post数据从js发送到php而不进行类型转换

转载 作者:行者123 更新时间:2023-11-27 22:54:17 25 4
gpt4 key购买 nike

我在 javascript 中有对象,我需要使用 ajax 将此对象发送到 php。

我可以“只发送”这个对象,但我的问题是我需要完全按原样发送对象值类型,而不是所有内容都作为字符串:意味着 NULL 为 NULL, bool 值为 bool 值,等等...

试试这个:

var js_object= <?php echo json_encode( array("a"=>NULL, "b"=>TRUE, "C"=>1.1) ); ?>;

$.ajax({
type: "POST",
url: "some.php",
dataType: "json",
data: JSON.stringify(js_object),
contentType: "application/json; charset=UTF-8",
success: function(msg){
}
});

但这根本不向服务器发送数据。并且也不会给出任何错误。我哪里错了?

最佳答案

您的代码没有任何问题。
我刚刚向 httpbin.org 添加了一个带有 post 查询的代码片段:

$.ajax({
type: 'POST',
url: '//httpbin.org/post',
data: JSON.stringify({name: 'test', 'null': null, 'true': true}),
success: onSuccess,
error: onError,
dataType: 'json',
contentType: 'application/json; charset=UTF-8'
});
function onSuccess(data){
// data is parsed json response
console.log('Request copy:', data.json);
console.log('Full response', data);
}
function onError(xhr) {
console.log(xhr.status, xhr.responseText);
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>

<小时/>

服务器端示例脚本:

<?php
$json = file_get_contents('php://input');
$data = json_decode($json, true);
header('Content-type: application/json');
echo json_encode($data);

关于javascript - 使用ajax将post数据从js发送到php而不进行类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37754443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com