簡體   English   中英

從JavaScript傳遞\\ n到python

[英]passing \n from javascript to python

我終於克服了將完整的utf-8字符串從javascript傳遞到python的問題,但是當在python中接收到該字符串時,現在缺少在Javascript端出現的回車符"\\n" 有什么我要做的事情嗎?

function saveMeetingComments(){
    var komments = $('#cmt_t').val()
    var d = new Date();
    var commentsText  = $('#cmt_t').val()
    var abc = ''
    var request = par_makeHttpObject();
    commentsText = stringTranslate(commentsText,"'",'`');
    request.open("POST", "saveMeetingNote?clientID="+clid_+
             "&co_ID="+coid_+
             "&msgDate="+dateFormat(d, "dddd, mmmm dS, yyyy, h:MM TT")+
             "&MeetType="+AGM_+
             "&MeetDate="+meetdate+"-"+
             "&Comments="+commentsText , false);
    request.send();
    $('#cmt_t').val('');
    parkAll();
}

注釋是唯一有回車符的變量。 在Python方面,代碼如下:

def saveMeetingNote(self, **kwargs):
    clientID         = kwargs['clientID']
    co_ID            = kwargs['co_ID']
    MessageDate      = kwargs['msgDate']
    MeetingType      = kwargs['MeetType']
    MeetingDate      = kwargs['MeetDate']
    Comments_        = kwargs['Comments']
    coName = dennislib.CompanyCoID2NAME(co_ID)[0]['FName']
    ret = dennislib.saveMeetingNotes(clientID,co_ID,MessageDate,MeetingType,MeetingDate,Comments_,coName)
    return 
saveMeetingNote.exposed = True

檢查Comment_顯示\\n都消失了...

TIA

丹尼斯

在將數據粘貼到POST請求URL中之前,您似乎沒有對數據進行URL編碼。 換行符並不是唯一可能丟失的東西。 當有人在評論字段中輸入&時會發生什么?

使用encodeURIComponent可以解決此問題:

// ...
"&Comments=" + encodeURIComponent(commentsText)    // ...

在服務器端,解碼此用法:

import urllib
# ...
Comments_ = urllib.unquote(kwargs['Comments']).decode('utf-8'))

在將所有變量連接到POST請求中之前,對所有變量使用encodeURIComponent()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM