下午好,
我正在尝试将一些值从文本格式(由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');
}
});
});
});
答案 0 :(得分:3)
传递给$.ajax
调用的dataType
参数告诉jQuery期望来自服务器的数据:
" json":将响应评估为JSON并返回JavaScript对象。跨域" json"请求转换为" jsonp"除非请求在其请求选项中包含jsonp:false。 JSON数据以严格的方式解析;任何格式错误的JSON都会被拒绝,并且会抛出一个解析错误。
尝试从PHP脚本返回json,例如,在最后添加:
echo json_encode(array());