如何使用javascript从表单返回json?

时间:2019-01-21 21:17:06

标签: javascript php

我有一个PHP表单,可通过AJAX显示结果。我能够从PHP作为JSON数组返回结果并显示它。但是,表单处理有一部分是由Javascript处理的,如果表单处理的这一部分有错误,Id希望能够像将PHP作为数组一样解析回发结果作为AJAX结果。

我很喜欢Javascript,所以到目前为止我还没有走得很远:

var valid = function_to_see_if_address_is_valid();

// if it returns from the function as valid dont do anything just keep going 

if(valid) {


}

// if the address is invalid, send back json to the ajax php script and exit the form processing

else {


  var valid_status = '{"status" : "error"}';
  return valid_status;

}

在我的脑海中,这应该向我发送回一个JSON数组,但是它似乎无法正常工作。

更新:

我想我认为AJAX部分无关紧要,因为它可以工作,而我要做的就是知道如何将对象/数组或任何东西发送回原始PHP页面(即ajax)。

但是,既然您似乎所有人都坚持要知道AJAX代码是什么,那么您就可以自行退出了。

$("document").ready(function(){
  $("#withdraw").submit(function(){

    var data = $(this).serialize() + "&" + $.param(data);
    $.ajax({
      type: "POST",
      dataType: "json",
      url: "/form/", 
      data: data,
          success: function(data) { // do stuff with data returned // }
 }
    });
    return false;
  });
});

1 个答案:

答案 0 :(得分:0)

我不确定您要使用代码段做什么,但是,如果您想将数据从JS文件传递到PHP,则可以使用AJAX进行。

这就是我做过类似事情的方式

var jsonString = JSON.stringify("your array here"); //turn the array into a json array
$.ajax({
  type: "POST",
  url: "YOURPHPFILE.php",
  data: {
    jsonString: jsonString //post through the array to YOURPHPFILE.php so you can access it there
  },
  success: function(data) {
    $('body').append(data)
  }
});

然后您可以像这样在PHP中捕获它

myArray = $_REQUEST['jsonString'];
$apiArray = json_decode($myArray, true);

我不太确定它如何适合您的文件结构,但希望它可能会有所用。