Php在ajax请求中返回空白

时间:2017-07-21 15:35:46

标签: javascript php ajax

我正试图从我的ajax请求中返回一个简单的回声,之前我已经完成了,但是不能解决为什么这次不能正常工作!

我已经把它剥离到了极少数,它仍然没有用。

的Javascript

 function getUserColours(){
    var username = $('#username').val();
    $.ajax({
      url: 'assets/processes/loginUserColour.php', // URL of php command
      type: 'POST', //TYPE
      data: {'username': username}, //Variables in JSON FORMAT
      success: function(data) { //SUCCESSFUL REQUEST FUNCTION
        console.log(data);
      }
    }); // end ajax call
  }

PHP

 <?php
  if(isset($_POST['submit'])){
    echo "true";
  }
?>

但只要响应完成,它就会返回一个完全空白的字符串?

网址绝对正确且有效且我的用户名变量不是空白,它与用户输入的内容相同。

出了什么问题?

注意:我在同一个应用程序上已经使用了这个完全相同的方法并且它可以工作,只是不在这个页面上?

3 个答案:

答案 0 :(得分:4)

您正在寻找AJAX数据对象中不存在的POST值。当jQuery发送AJAX请求时,它只会将您添加到数据对象中的内容作为POST参数发送。

您可以更改数据对象并添加具有某些值的“submit”属性,也可以将PHP更改为以下内容并且它应该有效:

<?php
  if (isset($_POST['username'])){
    echo "true";
  }
?>

答案 1 :(得分:2)

尝试回显用户名。您在用户名变量中传递用户名。试试这个:

<?php if(isset($_POST['username'])){ echo "true"; } ?>

答案 2 :(得分:1)

您的请求参数中没有class SearchFieldBorder: NSView { override func draw(_ dirtyRect: NSRect) { super.draw(dirtyRect) self.layer?.borderWidth = 1 self.layer?.borderColor = NSColor.blue.cgColor } } 。您有两种方法可以解决它:

在Javascript中向您的请求添加submit的第一个选项

submit

从php端修复它:

function getUserColours(){
  var username = $('#username').val();
  $.ajax({
    url: 'assets/processes/loginUserColour.php',
    type: 'POST', //TYPE
    data: {'username': username, 'submit': true}, //adding submit
    success: function(data) {
      console.log(data);
    }
  });
}