ブラウザにHTMLのソースコードがそのまま表示されてしまう
ESPlorerを使ってESP8266のWebServerを作っています。
下はそのUIコードですが、コードがそのものがブラウザ(safari,googlechrome)に表示されてしまいます。
このコードかブラウザに問題があるのでしょうか。
wifi.setmode(wifi.STATION)
wifi.sta.config("106F3F76046E","p518fm1rhp3na")
print("Connected on " .. wifi.sta.getip())
wifi.sta.connect()
--tmr.alarm(0, 1000, 1, checkWifiStatus)
gpio.mode(7, gpio.OUTPUT)
gpio.write(7, gpio.LOW)
if srv~=nil then
srv:close()
end
srv=net.createServer(net.TCP, 3)
print("Server created on " .. wifi.sta.getip())
srv:listen(80,function(conn) conn:on("receive",function(conn,request)
print(request)
_, j = string.find(request, 'led_light_switch=')
if j ~= nil then command = string.sub(request, j + 1)
if command == 'on' then gpio.write(7, gpio.HIGH)
else gpio.write(7, gpio.LOW)
end
end
conn:send("HTTP/1.1 200 OK\r\n\r\n Hello, ESP8266.")
conn:send('<!DOCTYPE html>')
conn:send('<html lang="en">')
conn:send('<head><meta charset="utf- 8" />')
conn:send('<title>Hello, World!</title></head>')
conn:send('<body><h1>Hello, World!</h1>')
if gpio.read(7) == gpio.HIGH then led = "ON"
else led = "OFF"
end
conn:send('<p>The light is ' .. led .. '</p>')
conn:send('<form method="post">')
conn:send('<input type="radio" name="led_light_switch" value="on">ON</input><br />')
conn:send('<input type="radio" name="led_light_switch" value="off">OFF</input><br />')
conn:send('<input type="submit" value="Light Switch" />')
conn:send('</form></body></html>')
end)
end)