我已经使用postman将json数据发送到指定的url。我在postman中得到了json的请求响应。我想将这个json发送到其他文件,所以我使用了ajax post方法.Ajax post方法是没调用。我的功能在这里没有触发成功或错误。
<?php
// get the HTTP method, path and body of the request
$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', trim($_SERVER['PATH_INFO'],'/'));
$input = json_decode(file_get_contents('php://input'),true);
$value1=json_encode($input);
//echo print_r($value1,1);
?>
<script type="text/javascript">
$(document).ready(function() {
// alert("hello");
var jsondata = <?php echo $value1 ?>;
$.ajax({
url: "/restapi/subscribe.php",
type: "POST",
data: { jsondata:jsondata },
dataType: "json",
Content-Type: "application/json",
success: function() {
alert("data sent!");
},
error: function() {
alert("There was an error. Try again please!");
}
});
return false;
});
</script>
我发送任何json数据作为输入。输出json数据应该发布在subscribe.php.In subscribe.php我写了
<?php
$json=$_POST['jsondata'];
echo $json;
?>
答案 0 :(得分:4)
尝试使用以下代码
<script type="text/javascript">
$(document).ready(function() {
// alert("hello");
var jsondata = <?php echo $value1 ?>;
$.ajax({
url: "/restapi/subscribe.php",
type: "POST",
data: { jsondata:jsondata },
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function() {
alert("data sent!");
},
error: function() {
alert("There was an error. Try again please!");
}
});
return false;
});
</script>
让我知道它是否有效
答案 1 :(得分:1)
你应该从你的js代码中删除Content-Type:“application / json”并使用php脚本中的下一个代码:
header('Content-Type: application/json');
echo json_encode($data);
答案 2 :(得分:0)
我认为问题出在Content-Type
尝试将其替换为contentType:"application/json"
答案 3 :(得分:0)
尝试将Content-Type: "application/json"
替换为contentType: "application/json; charset=utf-8",