jquery的post请求不能跨域。可以用get方式发送。
//jquery-1.8.3.min.jsfunction testJQsend(){
var host1="http://www.link2world.top/jsonpserver.php?jsonpCallBack=success_jsonpCallback"
$.ajax({
url: host1,
data:{
"appid":"123456",
"bucket":"test",
"url":"http://linme.test.upload/abc.jpg"
},
timeout:3000,
dataType: "jsonp",
complete: function(response, textStatus) {
if(response.status == 404) {
alert("请求失败!")
}else if(response.status == 200){
alert("响应状态码:" + response.status + "\n响应信息: " + textStatus + "\nURL状态正常!")
}else {
alert("响应状态码:" + response.status + "\n响应信息: " + textStatus + "\nURL 可能失效了!")
}
}
})
}
以Ajax方式发送<script type="text/javascript">
一、获取url所有参数值
function US() {
var name, value
var str = location.href
var num = str.indexOf("?")
str = str.substr(num + 1)
var arr = str.split("&")
for (var i = 0 i < arr.length i++) {
num = arr[i].indexOf("=")
if (num > 0) {
name = arr[i].substring(0, num)
value = arr[i].substr(num + 1)
this[name] = value
}
}
}
二、使用JS 发送JSON格式的POST请求
var us = new US()
var xhr = new XMLHttpRequest()
xhr.open("POST", "/searchguard/api/v1/auth/login", true)
xhr.setRequestHeader("Content-type", "application/json")
xhr.setRequestHeader("kbn-version", "5.3.0")
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
window.location.href = us.nextUrl
}
}
}
xhr.send(JSON.stringify({
"username" : us.u,
"password" : us.p
}))
</script>
1、传统方式,判断浏览器进行post请求
var xmlobj //定义XMLHttpRequest对象function CreateXMLHttpRequest()
{
if(window.ActiveXObject)
//如果当前浏览器支持Active Xobject,则创建ActiveXObject对象
{
//xmlobj = new ActiveXObject("Microsoft.XMLHTTP")
try {
xmlobj = new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
try {
xmlobj = new ActiveXObject("Microsoft.XMLHTTP")
} catch (E) {
xmlobj = false
}
}
}
else if(window.XMLHttpRequest)
//如果当前浏览器支持XMLHttp Request,则创建XMLHttpRequest对象
{
xmlobj = new XMLHttpRequest()
}
}
function SubmitArticle(act,cityname,antique) //主程序函数
{
CreateXMLHttpRequest() //创建对象
//var parm = "act=firstweather" //构造URL参数
//antique = escape(antique)
var parm = "act=" + act + "&cityname=" + cityname + "&antique=" + antique//构造URL参数
//xmlobj.open("POST", "{dede:global.cfg_templeturl/}/../include/weather.php", true) //调用weather.php
xmlobj.open("POST", "/weather/include/weather.php", true) //调用weather.php
xmlobj.setRequestHeader("cache-control","no-cache")
xmlobj.setRequestHeader("contentType","text/htmlcharset=uft-8") //指定发送的编码
xmlobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") //设置请求头信息
xmlobj.onreadystatechange = StatHandler //判断URL调用的状态值并处理
xmlobj.send(parm) //设置为发送给服务器数据
}
2、虚拟表单的形式提交post请求
function post(URL, PARAMS) {var temp = document.createElement("form")
temp.action = URL
temp.method = "post"
temp.style.display = "none"
for (var x in PARAMS) {
var opt = document.createElement("textarea")
opt.name = x
opt.value = PARAMS[x]
// alert(opt.name)
temp.appendChild(opt)
}
document.body.appendChild(temp)
temp.submit()
return temp
}
//调用示例:
post('请求地址', {html :prnhtml,cm1:'sdsddsd',cm2:'haha'})