Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax返回HTML代码和预期输出_Php_Jquery_Ajax - Fatal编程技术网

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');
     }

  });