使用 AJAX 发送 JSON 到 PHP

Sending JSON with AJAX to PHP

本文关键字:PHP JSON 发送 AJAX 使用      更新时间:2023-09-26

下午好,

我正在尝试将一些值从文本形式(由重力形式制作(发送到PHP文件,然后我可以将这些值发送到API(Insightly(。这样做的原因是Insightly不接受AJAX调用。

我拥有的代码如下,当我单击提交按钮时,我不断收到下面定义的"发送失败"错误,它永远不会成功。到目前为止,我还没有完成我的PHP脚本,我只有以下行:

$obj = $_POST['myData'];

我已经研究这个问题一段时间了,但仍然无法弄清楚。任何帮助将不胜感激!事不宜迟,这是我到目前为止拥有的Javascript:

$(document).ready(function() {
$("#gform_submit_button_1").click(function() {
    var name = document.getElementById("input_1_19").value;
    // split name into first and last names
    var fname = name.split(" ")[0];
    var lname = name.split(" ")[1];
    var company = document.getElementById("input_1_15").value;
    var email = document.getElementById("input_1_6").value;
    var phone = document.getElementById("input_1_14").value;
    var hearAbout = document.getElementById("input_1_10").value;
    var solution = document.getElementById("input_1_11").value;
    var market = document.getElementById("input_1_17").value;
    var details = document.getElementById("input_1_5").value;
    var information =
    {
        "fname": fname,
        "lname": lname,
        "company":company,
        "email": email,
        "phone": phone,
        "hearAbout": hearAbout,
        "solution": solution,
        "market": market,
        "details": details
    };
var dataString = JSON.stringify(information);
    $.ajax({
        type: "POST",
        dataType: "json",
        url: "insightlyAPI.php",
        data: {myData: dataString},
        success: function(data){
            alert('AJAX Success!');
        },
        error: function(){
            alert('Failed To Send');
        }
    });
});
});

你传递给$.ajax调用的dataType参数告诉 jQuery 期望来自服务器的数据:

"json":将响应评估为 JSON 并返回一个 JavaScript 对象。跨域"json"请求将转换为"jsonp",除非请求在其请求选项中包含 jsonp: false。JSON 数据以严格的方式解析;任何格式错误的 JSON 都将被拒绝,并引发解析错误。

尝试从 PHP 脚本中返回 json,例如,在末尾添加:

echo json_encode(array());