所以,当我发送json时,它会等待共鸣,并且所有发送的文件中发送的json都被视为响应。如何设置哪些回声/打印信息,因为还有其他东西而不是回声/确切的响应是什么?例如,我有这个代码,我想做一些别的事情,而不是在这里的共鸣: PHP:
if($_POST){
$return="Success.";
echo json_encode($return);
exit;
}
jQuery的:
$.ajax({
url: "./index.php",
type: "POST",
data: {
example:"example",
example2:$(".content").text()
},
dataType: "json"
}).done(function(data){
$('#response').append('<p style="color:red;">'+data+'</p>');
}).fail(function(){
$('#response').append('<p style="color:red;">Error</p>');
});
答案 0 :(得分:0)
默认情况下,您将获得HTTP 200 Ok响应,
在某些情况下,我发现您尝试发送错误,因此您的ajax请求会通过失败函数。
你可以用PHP实现这个:
header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500);
此致
答案 1 :(得分:0)
我不明白你的问题是什么。
但是你有一个错误,也许是因为你不会在你的javascript中获得一个json对象。
if($_POST){
$return=array("Success.");
echo json_encode($return);
exit;
}
json_encode需要一个数组:)
答案 2 :(得分:0)
抱歉,但很难理解你。你觉得什么?德语? (然后写下带有德语文本的pastebin并发给我)
除了返回成功字符串之外,您还可以执行任何其他操作。 例如,将每个值写入文件,例如
在开头构建数组并在结尾返回它。 然后你可以在脚本运行时添加一些东西。
我希望有帮助:)
<强>的index.php 强>
<?php
if($_POST)
{
$response = array();
foreach($_POST as $file => $content)
{
$response[] = 'Writed ' . file_put_contents($file, $content) . ' bytes to file ' . $file;
}
if(!count($response))
{
header('HTTP/1.0 400 Bad Request', true, 400);
}
echo json_encode($response);
exit;
}
?><html>
<head>
<title>25760456</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function()
{
$.ajax({
url: "./index.php",
type: "POST",
data: {
example:"example",
example2:$(".content").text()
},
dataType: "json"
}).done(function(data){
$('#response').append('<p style="color:red;">'+data+'</p>');
}).fail(function(){
$('#response').append('<p style="color:red;">Error</p>');
});
});
</script>
<style type="text/css">
#response {
border: 1px solid #000;
padding: 5px;
}
</style>
</head>
<body>
<input type="text" class="content" />
<div id="response"></div>
</body>
</html>
看起来像。