Diskuze: JQuery a Ajax, nefunguje priklad.

C# .NET .NET (C# a Visual Basic) JQuery a Ajax, nefunguje priklad. American English version English version

Avatar
asoft
Člen
Avatar
asoft:

C#, VS2015, Ajax, jQuery
Dobrý deň.
Skúšam Ajax a jQuery. Pozrel som na rôzne zdroje, ale neviem kde mám chybu.

1. HomeControler

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApplication4.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public ActionResult Index()
        {
            return View();
        }
    }
}

2. Views/Home/Index

<!DOCTYPE html>
<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script>
       $(document).ready(function(){
          $("button").click(function(){
             $("#div1").load("Ajax/test.txt");
          });
       });
    </script>
</head>

<body>
    1111111111111111111 <br/>
    2222222222222222222 <br />
    3333333333333333333 <br />
    <div id="div1"><h2>Povodny text</h2></div>
    4444444444444444444 <br />
    5555555555555555555 <br />
    6666666666666666666 <br /> <br />

    <button>Externy text zo suboru Ajax/text.txt</button>

</body>
</html>

3. Subor: Ajax/test.txt

<h2>Novy text</h2>

Ked to v Internet Explorer 11 spustím ako: http://localhost:57454/ tak to funguje ako má.
Nahradí <div id="div1"><h2­>Povodny text</h2></div>
s
<div id="div1"><h2>Novy text</h2></div>

Ked to spustím ako: http://localhost:57454/Home/Index tak natiahne html a po kliknutí na Button
sa nič nestane.
Zostane tam pôvodný text: <div id="div1"><h2­>Povodny text</h2></div>

V RouteConfig som nič nemenil, takže tam je:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace WebApplication4
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}
 
Odpovědět 2.10.2015 13:33
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na asoft
Jan Vargovský:

Do konzole ses díval?

 
Nahoru Odpovědět 2.10.2015 13:42
Avatar
Lako
Člen
Avatar
Odpovídá na asoft
Lako:

A nebude to náhodou tím, že se snažíš namísto z Localhost/Ajax/tex­t.txt to tahat z Localhost/Home/In­dex/Ajax/text­.txt??

Hlavně je to podle mého názoru celé špatně.
Zaprvé tvůj problém není s ajaxem a jquery, ale s asp.net mvc.
Zadruhé musíš to udělat tak, aby jsi tím ajaxem volal nějakou metodu a ta splácala html a poslala ho klientovi.
(nemusíš, ale takto to je špatně)

Editováno 4.10.2015 23:15
 
Nahoru Odpovědět 4.10.2015 23:12
Avatar
asoft
Člen
Avatar
Odpovídá na Lako
asoft:

Vďaka za odpovede.
Pozrel som sa články o AJAX od autora Taskkill. (Prvé dva diely).
Urobil som si príklad a už mi to funguje.

 
Nahoru Odpovědět 5.10.2015 9:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.