使用AJAX向JSON发送JSON

时间:2016-02-16 20:20:31

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

1 个答案:

答案 0 :(得分:3)

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

  

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

尝试从PHP脚本返回json,例如,在最后添加:

echo json_encode(array());