下午好
我正在尝试将一些值从文本表单(由 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/