Egret是一款針對HTML5游戲開發(fā)的開源引擎,它提供了豐富的API和工具讓開發(fā)者可以快速地創(chuàng)建出高品質(zhì)的游戲。在Egret中,發(fā)送Http Post請求并傳輸Json信息是一個(gè)常見的操作。下面我們就來看一下如何在Egret中發(fā)送Http Post請求并傳輸Json信息。
<code> var request = new egret.HttpRequest(); request.responseType = egret.HttpResponseType.TEXT; request.open(url, egret.HttpMethod.POST); request.setRequestHeader("Content-Type", "application/json"); request.send(JSON.stringify(data)); request.addEventListener(egret.Event.COMPLETE, onPostComplete, this); request.addEventListener(egret.IOErrorEvent.IO_ERROR, onPostIOError, this); </code>
上述代碼中,我們首先創(chuàng)建了一個(gè)HttpRequest對象,然后使用open方法打開url地址并設(shè)置請求的類型為POST。setRequestHeader方法設(shè)置了請求頭的Content-Type屬性為application/json,這是因?yàn)槲覀円獋鬏數(shù)氖荍son格式的數(shù)據(jù)。然后我們使用JSON.stringify方法將數(shù)據(jù)轉(zhuǎn)換成Json格式的字符串,并使用send方法發(fā)送請求。最后,我們在HttpRequest對象上監(jiān)聽COMPLETE和IO_ERROR事件,分別回調(diào)onPostComplete和onPostIOError方法。
在onPostComplete方法中,我們可以獲取到服務(wù)器返回的數(shù)據(jù),如果是Json格式的數(shù)據(jù),我們可以通過JSON.parse方法將其轉(zhuǎn)換成對象:
<code> function onPostComplete(event:egret.Event):void { var request =event.currentTarget; var response = JSON.parse(request.response); console.log(response); } </code>
到此,我們就成功地在Egret中發(fā)送了Http Post請求并傳輸Json信息。