我目前正在创建一个函数,使POST请求到一个应用程序。我有我的JSON字符串正确设置,但是当我使用调试器和监视网络活动时,我从来没有看到从我的浏览器发送任何请求。这是我的代码的细分。我不得不做一些诡计,因为这是一个PoC代码,它最初处理一个jsp页面。现在Ajax请求不被发送
$(document).ready(function() {
$("#myForm").submit(function(e) {
e.preventDefault();
var myJsonObject = new Object();
//set up my object and stringify it into myString
sendDataToServer(myString);
});
function sendDataToServer(jsonString) {
$.ajax({
type: "POST",
data: jsonString,
contentType: "application/json; charset=utf-8",
url: "https://my.target.server.com"
dataType : 'json',
processdata: true,
success: eval("successMessage"),
error: eval("failureMessage")
});
}
function successMessage() {
alert("Post was successful");
}
function failureMessage() {
alert("Post failed");
}
});
,我的AJAX调用失败(仍与证书问题和证书处理),但我甚至不能看到任何请求,从一开始就被发送。我的ajax电话是错误的,还是有其他问题?如果由于证书问题而拒绝访问服务器,那么在发送任何请求之前尝试设置与服务器的连接时,它会失败吗?
对于一些额外的信息,当我提交表单时,我会看到failureMessage()警报,所以我知道它至少调用了ajax函数。
** eval是邪恶**不要在这种情况下使用eval。使用闭包。 – 2014-12-04 18:52:23
@LorenzMeyer对不起,AJAX电话很新。我查找了闭包,它只是定义了成功参数中的函数? – user3334871 2014-12-04 18:55:11
对。只需调用该函数即可。不要评估它。 – isherwood 2014-12-04 19:10:35