টপিকঃ JS , Ajax, jQuery তে সাহায্য প্রয়োজন

আমি একটা প্রোজেক্টে এজাক্স দিয়ে কিছু ডাটা অন্য পেজ থেকে কল করে একটি div এর মধ্যে দেখাচ্ছি। সমস্যা হল ওই পেজে আমি কিছু জাভা স্ক্রিপ্ট দিয়েছি , আমি চাচ্ছি যে, অই জাভা স্ক্রীপ্ট এক্সিকিঊট হোক। অর্থাৎ এখন হচ্ছে না। নিচে কোড এক্সাম্পল দেওয়া হল
মেইন পেইজঃ

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<script type="text/javascript">
               var url = "loadQuiz.html";
                    $.ajax({
                                   type: 'GET',
                                   url: url,
                                   dataType: 'html',
                                   complete: function() {
                                   },
                                   success: function(html) {
                                       document.getElementById("content").innerHTML= html ;
                                    }
                           });
</script>

<span id="content"></span>

<a href='#' onclick="loadQuiz()">Load</a>

ডটার পেজঃ

This is data
<script type="text/javascript">
alert("ho ho");
</script>
এই ব্যাক্তির সকল লেখা কাল্পনিক , জীবিত অথবা মৃত কারো সাথে মিল পাওয়া গেলে তা সম্পুর্ন কাকতালীয়, যদি লেখা জীবিত অথবা মৃত কারো সাথে মিলে যায় তার দায় এই আইডির মালিক কোনক্রমেই বহন করবেন না। এই ব্যক্তির সকল লেখা পাগলের প্রলাপের ন্যায় এই লেখা কোন প্রকার মতপ্রকাশ অথবা রেফারেন্স হিসাবে ব্যবহার করা যাবে না।

Re: JS , Ajax, jQuery তে সাহায্য প্রয়োজন

dataType: 'html',

এইটারে script দেন

dataType: 'script',

Re: JS , Ajax, jQuery তে সাহায্য প্রয়োজন

তারেক হাসান লিখেছেন:
dataType: 'html',

এইটারে script দেন

dataType: 'script',

এভাবে কাজ করত যখন পুরোটাই স্ক্রিপ্ট হত, কিন্তু এখানে পুরোটা স্ক্রিপ্ট না, স্ক্রিপ্ট এর সাথে এইচটিএমএল ডাটাও আছে।

এই ব্যাক্তির সকল লেখা কাল্পনিক , জীবিত অথবা মৃত কারো সাথে মিল পাওয়া গেলে তা সম্পুর্ন কাকতালীয়, যদি লেখা জীবিত অথবা মৃত কারো সাথে মিলে যায় তার দায় এই আইডির মালিক কোনক্রমেই বহন করবেন না। এই ব্যক্তির সকল লেখা পাগলের প্রলাপের ন্যায় এই লেখা কোন প্রকার মতপ্রকাশ অথবা রেফারেন্স হিসাবে ব্যবহার করা যাবে না।

Re: JS , Ajax, jQuery তে সাহায্য প্রয়োজন

ইভিল eval() ফাংশন ব্যবহার করেছি। তাই সমাধানটি ব্যবহার করা হয়ত নিরাপদ না। worried আর হ্যাঁ, র জাভাস্ক্রিপ্ট দিয়ে করেছি।

<script type="text/javascript">
    window.onload = function() {
        var link = document.getElementsByTagName('a')[0];
        
        link.onclick = function() {
            var xhr = false;
            
            if(window.XMLHttpRequest) {
                xhr = new XMLHttpRequest();
            } else if(window.ActiveXObject) {
                try {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(e) {
                    xhr = false;
                }
            }
            
            if(xhr) {
                xhr.onreadystatechange = function() {
                    if((xhr.readyState == 4) && (xhr.status == 200 || xhr.status == 304)) {
                        var parser = new DOMParser();
                        
                        var htmlDoc = parser.parseFromString(xhr.responseText, 'text/html');
                        
                        var bodyText = htmlDoc.getElementsByTagName('body')[0].childNodes[0].nodeValue;
                        var scripts = htmlDoc.getElementsByTagName('script');
                        
                        var text = bodyText.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '').trim();
                        
                        var p = document.createElement('p');
                        var pText = document.createTextNode(text);
                        
                        p.appendChild(pText);
                        document.getElementById('content').appendChild(p);
                        
                        for(var i = 0; i < scripts.length; i++) {
                            eval(scripts[i].childNodes[0].nodeValue);
                        }
                    }
                };
                
                xhr.open('GET', 'loadQuiz.html');
                
                xhr.send(null);
                
                return false;
            }
        };
    };
</script>

লেখাটি CC by-nc-sa 3.0 এর অধীনে প্রকাশিত

Re: JS , Ajax, jQuery তে সাহায্য প্রয়োজন

.done()  মেথড ব্যাবহার করতে পারেন smile

JavaScript :

var url = "loadQuiz.html";
$('#loadQuiz').click(function(e) {
  e.preventDefault();
  $.ajax({
    url: url,
  cache: false
}).done(function( html ) {
  $("#content").append(html);
 // $("#content").html(html);

    });
});

Html :

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<span id="content"></span>
<a href='#' id="loadQuiz">Load</a>
  Tenacity - Focus - Discipline - Repetition

   Sabbir's Blog 

লেখাটি CC by-nc-sa 3.0 এর অধীনে প্রকাশিত

Re: JS , Ajax, jQuery তে সাহায্য প্রয়োজন

এটা ব্যবহার করে দেখুনঃ

index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery ajax load</title>
<meta name="author" content="SohelRana.net">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>

<script type="text/javascript">
$(document).ready(function () {
        $(".ajax").click(function() {
            $.ajax({
                type: "GET",
                url: 'loadQuiz.html',
                dataType: 'html',
                cache: false,
                success: function (html) {
                $('#content').html(html);
            }
        });
    return false;
    });
});
</script>

</head>
<body>

<span id="content"></span>

<a href="#" class="ajax">load</a>

</body>
</html>

loadQuiz.html

<script type="text/javascript">
    alert("ho ho");
</script>
Sohel Rana
Web Designer & Developer