Php Ajax返回HTML代码和预期输出
在尝试了来自和许多其他问题的一些解决方案之后,我无法在我的代码中找到确切的问题所在。我的代码Php Ajax返回HTML代码和预期输出,php,jquery,ajax,Php,Jquery,Ajax,在尝试了来自和许多其他问题的一些解决方案之后,我无法在我的代码中找到确切的问题所在。我的代码 $('#genoffer').click(function(e){ e.preventDefault(); var offerstatus = $('#offerstatus').val(); if ($.trim(offerstatus) != '') { $.ajax({ url:'general_crea
$('#genoffer').click(function(e){
e.preventDefault();
var offerstatus = $('#offerstatus').val();
if ($.trim(offerstatus) != '') {
$.ajax({
url:'general_create.php',
method: 'POST',
data:{offerstatus:offerstatus},
dataType: 'text',
success:function(data){
if ($.trim(data) == 'gsent') {
alert(data);
}else if($.trim(data) == 'agsent'){
alert(data);
}else{
alert(data);
}
}
});
}else{
alert('empty');
}
});
我的剧本如下
public function generalOfferLetter($offerstatus){
if ($offerstatus == 1) {
echo "gsent";
exit();
}elseif($offerstatus == 2){
echo "agsent";
exit();
}else{
echo "agsent";
}
}
它返回我期望的结果,但返回整个页面的HTML代码
代码中有什么错误
general_create.php
$offerstatus = $_POST["offerstatus"];
$bookingsearch->generalOfferLetter($offerstatus);
请使用以下代码: 添加内容类型:“应用程序/json;字符集=utf-8”
请分享
general_create.php
page的内容没有问题,这是AJAX的预期行为。如果你想更改返回的内容,你需要写一些只返回你想要的内容的东西。@JayBlanchard,如果没有错误的话。那么为什么ajax会返回带有我预期结果的HTML代码呢?我希望我的预期结果不是HTML代码。那我该怎么办专家?你写的东西会返回你想要的东西。我用过了。我的输出不会出现。它只返回HTML代码Nope,他返回整个HTML代码。这没用。他需要改变控制器的方法。我设置datatype=“html”而不是“text”,试着使用它可能会有所帮助you@KrishnaSavani我已将数据类型文本更改为HTML,这对我没有任何帮助。我已再次设置数据类型:“text”,但在php文件“general_create.php”中,在开头的ob_end_clean()处添加这一行代码>标题('Content-Type:application/json')代码>并在函数末尾添加模具()
$('#genoffer').click(function(e){
e.preventDefault();
var offerstatus = $('#offerstatus').val();
if ($.trim(offerstatus) != '') {
$.ajax({
url:'general_create.php',
cache: false,
contentType: "application/json; charset=utf-8",
dataType: "html",
method: 'POST',
data:{offerstatus:offerstatus},
success:function(data){
if ($.trim(data) == 'gsent') {
alert(data);
}else if($.trim(data) == 'agsent'){
alert(data);
}else{
alert(data);
}
}
});
}else{
alert('empty');
}
});