Mar*_*cus 38 javascript ajax jquery jsonp http
我需要使用内容类型'application/json'创建一个jsonp POST请求.我可以像这样向服务器发送POST请求:
jQuery.ajax({
type: 'POST',
url: url,
data: data,
success: success,
error: error,
async: true,
complete: complete,
timeout: TIMEOUT,
scriptCharset: 'UTF-8',
dataType: 'jsonp',
jsonp: '_jsonp',
});
Run Code Online (Sandbox Code Playgroud)
但是一旦我添加该行:contentType: "application/json"
它开始将其作为OPTIONS请求而不是POST发送.
如何指定内容类型并仍然以POST方式提交请求?
SLa*_*aks 51
无法发出JSONP POST请求.
JSONP的工作原理是创建一个<script>
从不同域执行Javascript 的标记; 无法使用<script>
标记发送POST请求.
使用json
在dataType
发送这样的:
$.ajax({
url: "your url which return json",
type: "POST",
crossDomain: true,
data: data,
dataType: "json",
success:function(result){
alert(JSON.stringify(result));
},
error:function(xhr,status,error){
alert(status);
}
});
Run Code Online (Sandbox Code Playgroud)
并将这些行放在您的服务器端文件中:
如果是PHP:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Max-Age: 1000');
Run Code Online (Sandbox Code Playgroud)
如果java:
response.addHeader( "Access-Control-Allow-Origin", "*" );
response.addHeader( "Access-Control-Allow-Methods", "POST" );
response.addHeader( "Access-Control-Max-Age", "1000" );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36407 次 |
最近记录: |