javascript - 使用 AJAX 将 JSON 发送到 PHP

标签 javascript php jquery json ajax

下午好

我正在尝试将一些值从文本表单(由 Gravity Form 制作)发送到 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');
        }
    });
});
});

最佳答案

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

"json": Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests are converted to "jsonp" unless the request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown.

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

echo json_encode(array());

关于javascript - 使用 AJAX 将 JSON 发送到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35442229/

相关文章:

jquery - 选择器的性能

javascript - 将表单数据提交到谷歌电子表格

javascript - 垂直对齐

php - 向图像添加空格并将文件保存到服务器

javascript - 时间下拉列表

jquery - 简单的侧边栏引导二级菜单

javascript - 我怎样才能在Javascript中执行[硬编码数字].[函数调用]?

javascript - 网络音频 api 音量指示器 - 不再有声音

php - bool(false) 出现在 bind_param() 函数中

php - 使用php连接外部mysql数据库