iT邦幫忙

0

[lingo] postnettext與伺服器連結不到?

  • 分享至 

  • xImage

global netid
on beginsprite me
user = member("name").text
age = member("age").text
email = member("email").text
url = "http://localhost/web/server.asp"
nid = postnettext(url, [#name:user, #age:age,#email:email])

end

on exitframe me
if netdone(nid) then
if neterror(nid) = "ok" then
reval = nettextresult(nid)
_player.itemDelimiter=","
end if
end

以上範例,我想抓該網址的一些文字資料放在raval裡
我在練習途中,url放某些網址可以連結,有些不行
neterror(nid) = "ok"這段不會過,會顯示
trace(neterror(nid))=4165連不到網址
請問為什麼會這樣呢?是因為有該往只有防火牆擋住?還是網站編碼問題

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

6
fillano
iT邦超人 1 級 ‧ 2013-09-06 20:51:04
最佳解答

大概十幾年沒碰lingo了,不過我猜是這個問題,先請你參考一下:
http://help.adobe.com/en_US/Director/11.5/UsingScripting/WSc3ff6d0ea77859461172e0811d64c1a1b3-7c69.html

網路操作基本上是會有延遲的,有時候操作在你離開frame時可能還沒完成,所以你需要等他完成才行,上面的第二個例子就是在做這件事。

另外,有些網址基本上是不能用post操作的,建議你可以先用getnettext來試試...

我嘗試不同網址
只有neterror有時候不會過
netdone都會過耶

請問有些網址不能用post的原因是什麼?
我不太懂它的規定

fillano iT邦超人 1 級 ‧ 2013-09-09 11:31:32 檢舉

netDone代表伺服器已經回傳給你資訊,不論有沒有錯誤。所以你會需要在netDone之後處理netError,以4165為例,應該就是伺服器返回http status code 404 (file not found) ,通常是網址有錯。請參考netError中的說明:http://help.adobe.com/en_US/Director/11.5/UsingScripting/WSc3ff6d0ea77859461172e0811d64c1a1b3-7c68.html

另外,我這樣講不太好,但是回答了就不能改XD,如果只是要測試,使用getNetText可以跟直接在瀏覽器輸入網址來比較,這樣應該比較容易確定問題。直接在瀏覽器模擬post需要用ajax,但是這樣就不能跨網域...

已經可以了
但我還是不知道為什麼有些可以有些不行lol
不過還是感謝解答

我要發表回答

立即登入回答