『壹』 javascript如何獲取post返回的數據
參數不可能沒有數名稱?post/get參數必須有名稱,否則無法被伺服器解析
例如:.com/a/b?name=li&age=10
1..com是域回
2.a/b是路徑,也稱為路由路徑
3.name/age是get參數
4.注意答post參數也必須要key(即名稱),不要以為使用post提交的參數就沒有名稱,只是默認不顯示到瀏覽器地址欄而已
『貳』 ajax 非同步請求後台返回字元串賦值給js參數
方法1:先設置同步復在進制行Ajax操作
//在全局或某個需要的函數內設置Ajax非同步為false,也就是同步
$.ajaxSetup({
async : false
});
//然後再進行你的Ajax操作
$.post(地址, 參數, function(data, status) {
if (status == "success") {
//賦值給全局變數
}
else {
alert("wrong");
}
});
方法2:直接用$.ajax
$.ajax({
type : "post",
url :地址,
data : "參數" + 參數的值,
async : false,
success : function(data){
//賦值給全局變數;
}
});
『叄』 js如何用AJAX請求 $.post獲取php中的數據poi_lng/poi_lat/poi2_lng/poi2_lat
$.post("../traffic/php/realtime.php",function(data){})中function的參數data就是後台返回的數據,php看不懂,不曉得你這個php返回的是個什麼數據。你可以直接在瀏覽器的地址欄中輸入那個php頁面的地址訪問一下看回來的數據是什麼樣的。
『肆』 js中怎樣使用ajax通過post提交數組數據php在後台怎樣獲取數組數據
把一個數組當參數傳一樣的,比如原來:{name:'zhang'},現在是{name:['zhang','li','wang']}。需要後台注意的是局輪仿獲取name參數值則要用數組去存儲name值了桐春。
你可以去後盾人平台看看,裡面的東西不桐纖錯
『伍』 JS ajaxFileUpload 傳參數的時候 有沒有和ajax一樣的 type:'post' 的設置
語法:$.ajaxFileUpload([options])
options參數說明:
1、url 上傳處理程序地址。
2,fileElementId 需要上傳的文件域的ID,即<input type="file">的ID。
3,secureuri 是否啟用安全提交,默認為false。
4,dataType 伺服器返回的數據類型。可以為xml,script,json,html。如果不填寫,jQuery會自動判斷。
5,success提交成功後自動執行的處理函數,參數data就是伺服器返回的數據。
6,error 提交失敗自動執行的處理搏磨顫函數。
7,data 自定義參數。這個東西比較有用,當有數據是游燃與上傳的圖片相關的基敗時候,這個東西就要用到了。
8, type 當要提交自定義參數時,這個參數要設置成post
『陸』 js的ajax用post傳值和直接form表單post傳值的區別為什麼form的可以用,js的不行。而且已經成功傳過去了
//form提交都是把input的name和value組合起來發專過去的屬
varbmPage=$(":text[name='bmPage']").val();
varbook=$(":text[name='book']").val();
『柒』 如何使用js向指定一個網站發送一個帶參數的post請求
/*
* 1 創建XMLHttpRequest對象 */
var xhr = ajaxFunction();
/*
* 2 伺服器向瀏覽器響應請求
*
* readyState 屬性表示Ajax請求的當前狀態。它的值用數字代表。
0 代表未初始化。 還沒有調用 open 方法
1 代表正在載入。 open 方法已被調用,但 send 方法還沒有被調用
2 代表已載入完畢。send 已被調用。請求已經開始
3 代表交互中。伺服器正在發送響應
4 代表完成。響應發送完畢
常用狀態碼及其含義:
404 沒找到頁面(not found)
403 禁止訪問(forbidden)
500 內部伺服器出錯(internal service error)
200 一切正常(ok)
304 沒有被修改(not modified)(伺服器返回304狀態,表示源文件沒有被修改 ) */
xhr.onreadystatechange = function(){
alert(xhr.readyState); //alert(xhr.status);
if(xhr.readyState==4){ if(xhr.status==200||xhr.status==304){
var data = xhr.responseText;
alert(data);
}
}
}
/*
* 3 瀏覽器與伺服器建立連接
*
* xhr.open(method, url, asynch);
* * 與伺服器建立連接使用
* * method:請求類型,類似 「GET」或」POST」的字元串。
* * url:路徑字元串,指向你所請求的伺服器上的那個文件。請求路徑
* * asynch:表示請求是否要非同步傳輸,默認值為true(非同步)。 */
xhr.open("POST","../testServlet?timeStamp="+new Date().getTime()+"&c=18",true);
//如果是POST請求方式,設置請求首部信息
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
/*
* 4 瀏覽器向伺服器發送請求
*
* send()方法:
* * 如果瀏覽器請求的類型為GET類型時,通過send()方法發送請求數據,伺服器接收不到
* * 如果瀏覽器請求的類型為POST類型時,通過send()方法發送請求數據,伺服器可以接收 */
xhr.send("a=6&b=9"); //xhr.send(null);
『捌』 用JQuery.ajax方法,用post方式傳兩個int類型的參數給後台tomcat伺服器,後台用Struts2編寫,請問發送參
js代碼
varparam1=12;
varparam2=24;
$.ajax({
type:"POST",
url:"ajax",
data:{'param1':param1,'param2':param2},
success:function(data){
}
});
action配置(假如ajax url匹配com.test.Ajax這個類)
<actionname="ajax"class="com.test.Ajax">
<resultname="success">/success.jsp</result>
</action>
後台代碼(Ajax類)
packagecom.test;
importcom.opensymphony.xwork2.ActionSupport;
{
privateIntegerparam1;
privateIntegerparam2;
publicvoidsetParam1(Integerparam1){
this.param1=param1;
}
publicvoidsetParam2(Integerparam2){
this.param2=param2;
}
@Override
publicStringexecute()throwsException{
System.out.println(param1);
System.out.println(param2);
returnSUCCESS;
}
}
『玖』 怎麼用javascript發送post請求
//原生js實現Ajax
function ajax() {
var ajaxData = {
type: arguments[0].type || "GET",//提交方式,默認get
url: arguments[0].url || "",//路徑
async: arguments[0].async || "true",//是否非同步,默認非同步
data: arguments[0].data || null,//參數
dataType: arguments[0].dataType || "text",//類型
contentType: arguments[0].contentType || "application/x-www-form-urlencoded",
beforeSend: arguments[0].beforeSend || function() {},
success: arguments[0].success || function() {},
error: arguments[0].error || function() {}
}
ajaxData.beforeSend()//默認執行before方法
var xhr = createxmlHttpRequest();//創建request對象
xhr.responseType = ajaxData.dataType;
xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);
xhr.setRequestHeader("Content-Type", ajaxData.contentType);
xhr.send(convertData(ajaxData.data));
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
ajaxData.success(xhr.response)
} else {
ajaxData.error()
}
}
}
}
function createxmlHttpRequest() {
if(window.ActiveXObject) {//判斷IE
return new ActiveXObject("Microsoft.XMLHTTP");
} else if(window.XMLHttpRequest) {
return new XMLHttpRequest();
}
}
function convertData(data) {
if(typeof data === 'object') {
var convertResult = "";
for(var c in data) {
convertResult += c + "=" + data[c] + "&";
}
convertResult = convertResult.substring(0, convertResult.length - 1)
return convertResult;
} else {
return data;
}
}
var json = ajax({
url: "http://192.168.10.22:8080/xxx",
dataType: "json",
success: function(msg) {
var date=msg;
if(date.stateCode=200){
var result=date.dataList;
}
}
},
error: function() {
console.log("error")
}
})
以上是原生js實現,也可以引入jquery 使用$.post()
『拾』 js ajax post請求 傳遞一個較長的參數,火狐瀏覽器可以正常傳遞到後台做處理,谷歌瀏覽器會把參數截斷
應該不會出現這樣的問題吧。
試試給請求參數編碼 encodeURIComponent('參數')或者 escape('參數')