(JS問題)VM1519:1 Uncaught TypeError: Cannot set property 'planId' of undefined

今天寫了一個簡單的js 結果報錯 以下 javascript

VM1519:1 Uncaught TypeError: Cannot set property 'planId' of undefinedhtml

出現這種狀況的緣由的素組長度的問題java

 

此段代碼的主要用處就是 經過標籤,將 input 的name和value 獲取出來,而後拼接成一個json串,傳入後臺, 因爲在js中定義data.palnData數組 只是push 了兩個值 ,而在具體的input標籤中 palnData 有三個值分別是 palnData[0],palnData[1],palnData[2] ,所以在執行eval方法的時候 拋出錯誤 json

      var postUrl;
          var inputs = document.getElementsByTagName("input");
          for(var i=0;i<inputs.length;i++){
             if(inputs[i].name=='postUrl'){
                 postUrl = inputs[i].value; 
             }
             else{
                 var str ="data."+inputs[i].name+"='"+inputs[i].value+"'"
                 eval(str);                 
             }
          }
          console.log(JSON.stringify(data));數組

<body id="wrapper" style="margin: 0; text-align: center;">
<div  style="margin:30px auto;width: 400px;    text-align: right;padding-right: 100px;">
    <span style="    display: block;
    /* margin: 0 auto; */
    margin-left: 200px;
    float: left;    font-size: larger;
    font-weight: bold;">接口測試<br/><br/></span><br/>
    <div style="clear:both"></div>

    uuId:<input type="text" name="uuId" value="79238493-081b-466e-a6e8-7aac06f9cfb5"/><br/>
    platformId:<input type="text" name="platformId" value="1049187503"/><br/>
    comeFrom:<input type="text" name="comeFrom" value="tmall"/><br/>
    channelCode:<input type="text" name="channelCode" value="taobao001"/><br/>
    sendTime:<input type="text" name="sendTime" value="2017-11-08 11:20:00"/><br/>
    platformSerialNo:<input type="text" name="platformSerialNo" value="2261054563330291"/><br/>
    requestType:<input type="text" name="requestType" value="01"/><br/>
    productId:<input type="text" name="productId" value="8000001041"/><br/></br>
<b style="margin-left:200px;float:left;">policyData</b></br>
    paymentType:<input type="text" name="policyData.paymentType" value="5"/><br/></br>
<b style="margin-left:200px;float:left;">insuredData</b></br>
    insuredNo:<input type="text" name="insuredData[0].insuredNo" value="0"/><br/>
    <!--relation:<input type="text" name="insuredData[0].relation" value="1"/><br/>-->
    insuredIdNo:<input type="text" name="insuredData[0].insuredIdNo" value="310101198001012574"/><br/>
    insuredMedicalInsurance:<input type="text" name="insuredData[0].insuredMedicalInsurance" value="N"/><br/></br>

<b style="margin-left:200px;float:left;">planData百萬任我行主險</b></br>
     planId:<input type="text" name="planData[0].planId" value="5000000761"/><br/>
    planMajor:<input type="text" name="planData[0].planMajor" value="Y"/><br/>
    planSumIns:<input type="text" name="planData[0].planSumIns" value="50000"/><br/>
    planPeriod:<input type="text" name="planData[0].planPeriod" value="20"/><br/>
    paymentPeriod :<input type="text" name="planData[0].paymentPeriod" value="1"/><br/>
    planUnits:<input type="text" name="planData[0].planUnits" value="1"/><br/>
    useFlag :<input type="text" name="planData[0].useFlag" value="Y"/><br/>
    insurantNo:<input type="text" name="planData[0].insurantNo" value="0"/><br/><br/>
   
 <b style="margin-left:200px;float:left;">planData交通意外附加險</b></br>
    planId1:<input type="text" name="planData[1].planId" value="5000000762"/><br/>
    planMajor1:<input type="text" name="planData[1].planMajor" value="N"/><br/>
    planSumIns1:<input type="text" name="planData[1].planSumIns" value="50000"/><br/>
    planPeriod1:<input type="text" name="planData[1].planPeriod" value="20"/><br/>
    paymentPeriod1 :<input type="text" name="planData[1].paymentPeriod" value="1"/><br/>
    planUnits1:<input type="text" name="planData[1].planUnits" value="1"/><br/>
    useFlag1 :<input type="text" name="planData[1].useFlag" value="N"/><br/>
    insurantNo1:<input type="text" name="planData[1].insurantNo" value="0"/><br/> <br/>
    
   <b style="margin-left:200px;float:left;">planData住院日額13</b></br>
    planId2:<input type="text" name="planData[2].planId" value="5000000801"/><br/>
    planMajor2:<input type="text" name="planData[2].planMajor" value="N"/><br/>
    planSumIns2:<input type="text" name="planData[2].planSumIns" value="50000"/><br/>
    planPeriod2:<input type="text" name="planData[2].planPeriod" value="20"/><br/>
    paymentPeriod2 :<input type="text" name="planData[2].paymentPeriod" value="1"/><br/>
    planUnits2:<input type="text" name="planData[2].planUnits" value="5"/><br/>
    useFlag2 :<input type="text" name="planData[2].useFlag" value="Y"/><br/>
    insurantNo2:<input type="text" name="planData[2].insurantNo" value="0"/><br/>
    
       Post URL:<input type="text" name="postUrl" value="/platform/quoteJSON"/><br/>
    <button onclick="submit()" >提交</button><br/><br/>

    <textarea id="result" style="width: 180%;height: 300px;"></textarea>

</div>
<script type="text/javascript">
    function submit(){
          document.getElementById("result").innerHTML = "";
          var data={};
          data.insuredData = [];
          data.insuredData.push({});
          data.planData = [];
          //  data.planData 包括planData[0],planData[1],planData[2] 三部分,此處只是push了兩個素組 , 
           
          data.planData.push({},{});
          data.policyData = {};

          var postUrl;
          var inputs = document.getElementsByTagName("input");
          for(var i=0;i<inputs.length;i++){
             if(inputs[i].name=='postUrl'){
            	 postUrl = inputs[i].value; 
             }
             else{
            	 var str ="data."+inputs[i].name+"='"+inputs[i].value+"'"
            	 eval(str);            	 
             }
          }
          console.log(JSON.stringify(data))

          var r = new XMLHttpRequest();
          r.open("POST", postUrl, true);
          r.responseType='json';
          r.setRequestHeader("Content-type","application/json;charset=utf-8");
          r.onload = function(e){
            if(this.status==200||this.status==304){
                console.log(JSON.stringify(this.response));
                document.getElementById("result").innerHTML = JSON.stringify(this.response);
               /*  if(this.response.data.result=="1"){
                    location.href="underWriting_test.html?orderId=" +this.response.data.orderId;
                    } */
            }
          }

          r.send(JSON.stringify(data));
    }
</script>
</body>
</html>
相關文章
相關標籤/搜索