开发者

calling php file from jquery at specific interval

i have following variables in jquery

var uemail="abc@domain.com,xyz@domain.com,gty@domain.com";
var subj="test message";
var text="<b>This is Email Body Text</b>";

i have one PHP file named "email.php" to send email

<?php

      $email =$_GE开发者_开发问答T['email'];
      $subject =$_GET['subj'];
      $message = $_GET['text'];;

     if(mail($email, $subject, $message, "From: $email"))
     echo "1";
     else
     echo "0";
?>

what i want to do is

call email.php for number of time i have email address in variable uemail and each time pass email,subj,text to email.php and print result on page that with 10 Sec interval Between each time email.php called.

abc@domain.com (ok)

xyz@domain.com (Error)

gty@domain.com (ok)

Thanks


var n = 1;
$.each(uemail.split(','), function() {
    var data = {email: this.valueOf(), subj: subj, text: text};

    setTimeout(function() {
        $.post('http://.../email.php', data, function(resp) {
            alert(data.email + (resp ? 'ok' : 'error'));
        });
    }, n++ * 10000);
});

This way you won't have to take care about stopping the interval.


I think you want a line like this in your javascript: setInterval(function() {$.ajax{url:'url of emails.php'};}, 10000);

That will make an ajax request to the php page every 10000 miliseconds.


Here's an alternate approach if you don't want multiple timers running parallel.

    var uemail="abc@domain.com,xyz@domain.com,gty@domain.com";

    uemail = uemail.split(',');

    var interval;
    var counter = 0;
    var check = function() { 
                            if(counter < uemail.length) {
                                // Send email post 
                                counter++; 
                            } else {
                                clearInterval(interval);
                            }
                };

    interval = setInterval(check,10000);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜