我使用jQuery Ajax将数据发送到服务器。我将帖子类型设置为POST但数据总是使用GET方法发送。如何使用Post方法发送数据?
$.ajax({
type: "POST",
dataType: 'jsonp',
url: 'http://do.convertapi.com/Web2Image/json/',
data: {
'CUrl':$('#txtUrl').val(),
'OutputFormat':'png',
'PageWidth':600,
'ApiKey':apiKey
},
jsonp: "callback",
success: function (data) {
if (data.Result)
{
$('#imgSnapShot').attr('src','data:image/png;base64,'+data.File);
$('#dvStatus').text("Converted successfully!");
}
else {
$('#dvStatus').text("Error: " + data.Error);
}
},
});
正如Graham Clark所说,jsonp Ajax请求总是发布为GET。如果我删除jsonp选项我得到另一个问题,跨域发布错误。我的问题有解决办法吗?
答案 0 :(得分:1)
因为这是一个5岁的问题,但是如果有人发现它有用的话 最近,浏览器实现了一种称为跨源资源共享(CORS)的技术,该技术允许对不同域的Ajax请求。 所以必须使用cors而不是jsonp
答案 1 :(得分:0)
我相信jsonp
总是与GET请求一起发送。如果您需要POST,请使用json
。查看this question了解详情。
答案 2 :(得分:0)
您无法通过JSONP发送跨域请求 - 它不使用XMLHttpRequest。有关更多信息,请参见此处:
http://groups.google.com/group/jquery-dev/browse_thread/thread/e7eb4a23eef342fb?pli=1