

ESPlorerを使ってESP8266のWebServerを作っています。  
下はそのUIコードですが、コードがそのものがブラウザ(safari,googlechrome)に表示されてしまいます。  
このコードかブラウザに問題があるのでしょうか。

[code]

    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)
    
[/code]


CC BY-SA 3.0
2016-11-09T02:49:37.033
30262
2016-11-16T15:02:55.967
2016-11-16T15:02:55.967
3054
19496
question
html http
ブラウザにHTMLのソースコードがそのまま表示されてしまう


`HTTP/1.1 200 OK\r\n`を送出している直後に、`Content-Type: text/html\r\n`を追加してみるとどうでしょうか？


CC BY-SA 3.0
2016-11-09T06:11:03.633
30264
2016-11-09T06:11:03.633
3337
30262
answer