我的第一次服务器通信体验遇到了问题,希望得到帮助。
按照教程,我为网络服务器(跨域)创建了 ajax 调用。一切都很顺利,直到我尝试将类型从“GET”切换到“POST”:JQuery 仍然发送 get 请求(经过 firebug 确认,服务器 r_print() 测试了 $_POST 和 $_GET)。
所以对我来说最大的问题是:我如何教 $.ajax 发送 POST? (是的,GET 可能会做,但是这段代码不是我想要的,这伤害了我的感情)
我使用简单的 HTML 表单检查了 PHP 端,该表单发送了包含预期结果的帖子。
我还添加了这一行:
jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null});
在类似的答案中建议,但没有积极的结果。
服务器代码(PHP)仅包含:
echo("alert('".print_r($_POST)." -- + -- ".print_r($_GET)+"');");
JQuery 端:
function executeRequest() {
$.ajax({
type: "POST",
url: "http://server/script",
data: ({ username: "test" }),
dataType: "jsonp",
jsonp: "jsonCallback",
contentType: "application/json",
jsonCallback: "jsonCallback",
});
}
function jsonCallback(data) {
alert(data.username);
}
执行请求();
每一个帮助或提示 - 无论是关于改进我的搜索模式还是具体问题 - 都非常感谢:)
谢谢!
最佳答案
删除行“jsonp”和“jsonCallback.”。如果您想使用回调,请将 .done() 函数添加到 $.ajax,按照 $.ajax 文档:
关于JQuery Ajax 调用,类型为 : "POST" is received as "GET" by server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166358/