1. 程式人生 > >ajax請求之post入參為空存在的問題

ajax請求之post入參為空存在的問題

寫了一段js程式碼未實現一個下拉列表的選擇框,但是在這個過程中出現一個錯誤,尋找了需求。

function GetType(){
    var tId = $("#typeId").val();
    var options = "<option value=''>--請選擇--</option>";
    var select = $("#selecttype");
    select.empty();
    $.post("${pageContext.request.contextPath}/car/getType.action",function(data)
{
$.each(data,function(i,item){ if(tId == item.dict_id){ options += "<option selected value=" + item.dict_id + ">" + item.dict_item_name + "</option>"; }else{ options += "<option value=" + item.dict_id + ">" + item.dict_item_name + "</option>"
; } }); select.append(options); },"json"); }

然而,正確的卻是這樣

function GetType(){
    var tId = $("#typeId").val();
    var options = "<option value=''>--請選擇--</option>";
    var select = $("#selecttype");
    select.empty();
    $.post("${pageContext.request.contextPath}/car/getType.action"
,{},function(data){ $.each(data,function(i,item){ if(tId == item.dict_id){ options += "<option selected value=" + item.dict_id + ">" + item.dict_item_name + "</option>"; }else{ options += "<option value=" + item.dict_id + ">" + item.dict_item_name + "</option>"; } }); select.append(options); },"json"); }

不仔細是發現不了區別的。

這樣兩個請求都是能夠獲取到資料,但是,前者返回的data卻不能夠被正常解析為json,而是作為字串解析的。
目前還沒查詢原因,只能確認這個事實:

想要好好使用ajax的post提交,無論有沒有引數,請都別忘記‘{}’

相關推薦

ajax請求post存在的問題

寫了一段js程式碼未實現一個下拉列表的選擇框,但是在這個過程中出現一個錯誤,尋找了需求。 function GetType(){ var tId = $("#typeId").val(); var options = "<option

Ajax請求引數傳到後臺

  1、編碼格式 $.ajax({ method:'POST', url:'/midservice/studentAction/addStudent', data:$.toJSON(userDate), async:false

SpringMVC允許的方法:required = false

場景:根據訂單id查詢訂單 或者 根據開始日期和結束日期查詢訂單。非此即彼的條件關係。        需要允許另一條件的引數為空。否則沒傳另一條件的引數會報錯。@GetMapping("/unload/histogram")public PortUnloadHistogram

使用原生ajax進行巢狀請求伺服器回送值的完美解決方案

在進行Web開發時候使用Ajax技術進行前後臺的互動是非常的常用的技術手段,而當你面臨著以下的業務需求的時候你就需要進行Ajax的巢狀請求 業務需求 現在需要向伺服器傳送請求,我需要根據伺服器那邊的響應來決定是否發出另外一個請求,這叫做請求的巢狀 看以下的

java poi 導日期

問題解決 nbsp blog clas double bug class post debugger 如上兩圖,如果是第一種的話,可以導入,,但,如果是第二種的話,導入為空查看,導入的文件,有這麽一條 debugger發現 它把2017-11-01轉為Doubl

SwaggerList

入參 AMM style brush 測試 map 今天 數據 i++ 今天遇到一個奇葩的需求,為了方便,service的一個接口入參是List<Map> repayMoney(List<Map<String,Object>) 那,我為了

qs.js解決傳,null,undefinde問題

qs.js去除引數為空的引數 vue的後臺管理專案匯出功能按搜尋條件傳參匯出,但是後臺比接受值為null,空,undefined的值。直接上程式碼 let obj={ "isAppointment" :this.isAppointment,

mybatis insert的map時,insert語句中獲取key和value的寫法

1. <insert id="submitAudit"> insert into tablename <foreach collection="params.keys" item="key" open="(" close=")" separator=",">

【筆記】mybatis+mysql,當map時,如何獲取返回的自增主鍵

<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="paramMap.id">  // keyProperty 要指定為引數map的名稱.返回的鍵名才行,入參paramMap,返回的自增主鍵

java 通過後端訪問http並傳post

String param= "{\n" + "\"signature\":\"1b811b104815e80dc06204769abf019454918820\",\n" + "\"timestamp\":\"63613249133781753

PL/SQL測試存在CLOB型別的儲存過程時,NULL

    今天有一儲存過程呼叫時報錯, 想dubeg下查詢問題 . 但是由於一入參為CLOB型別(如果為VARCHAR2,只支援2000長度),利用PL/SQL自身的測試功能測試時,v_doc 填入引數在執行方法是不會被傳進去,所以這個引數會為null. 測試方式:

ajax 請求成功 跳error的原因

ajax 請求成功 跳入error的原因; $.ajax({     type: "GET",     url: _url,     dataType: "json",     async: true,     success: function(data) {  

小程式部分機型請求200、返回資料

情景描述 ssm+mysql+jdk1.7+tomcat7+centos7 介面在網頁端正常使用,在小程式端部分機型(魅族、樂視)的部分介面失效 開發者工具除錯正常 真機上除錯請求報200,傳參成功

Jmeter請求響應後的數據截取特定數據並修改特定數再下一請求中作為使用

使用 com beans mage png roc 引用 jsonp path 1、查詢用戶信息,出參中包含用戶id 使用jsonPath提取出用戶id 2、獲取任務詳情,出參信息列表list要在第三步任務處理中做入參使用,但是要要修改list中的數據(如上一步提取的

ajax請求,訪問路徑statuscanceled

$("#shebeiconfig").ajaxSubmit({ type : "post", dataType : "json", //資料型別 url : "/deviceCo

Ajax請求中的async設定false/true的區別

$(function(){var data ;$.ajax({url:eve.contextPath+'/jf/know/knowledge/findName',type:'post',dataType:'json',async:false,success:function(result){data =  r

js AJAX請求的 $.post方法的使用

實現功能:本文主要是介紹通過js像後臺傳遞欄位:採用的方法是  AJAX請求的 $.post方法。 首先是前端程式碼: //ajax將資料傳到後臺並返回成功資料 var data = { id : "200", name:0 };

JS 判斷JSON是否

var jsonStr ={}; 1、判斷json是否為空 jQuery.isEmptyObject(); 2、判斷物件是否為空: 2.1、if   (typeOf(x)   ==   "undefined") 2.2、if   (typeOf(x)   !=   "obj

接口測試Jmeter中http請求post請求(四)

thread -h 右擊 -s 分享圖片 alt 測試 use ima 1、打開Jmeter,新建一個測試計劃 2、選擇測試計劃,右擊-Threads(Users)-線程組 3、接下來新建一個http請求,選擇線程組,右擊-Samper-HTTP請求。 4

Post請求方式長度數過長導致

cat 導致 edi time threads toc thread connect htm Post提交方式本身對於參數的長度沒有限制,HTTP協議也沒有限制。 可是今天在做一個web項目的時候碰到一個問題,當要提交的表單內容達到一定大小時,發現後臺代碼接收到的參數為