如果其他jQuery不使用ajax响应

时间:2013-10-01 12:30:55

标签: javascript jquery ajax

我的代码如下:

$.ajax({
    url: 'upload.php',  //Server script to process data
    type: 'POST',
    xhr: function() {  // Custom XMLHttpRequest
        var myXhr = $.ajaxSettings.xhr();
        if(myXhr.upload){ // Check if upload property exists
            myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // For handling the progress of the upload
        }
        return myXhr;
    },
    //Ajax events
    beforeSend: function(e) { $('#progress').css('display', 'block'); },
    success: function(e) {
        if (e != "bad" || e != "No") {
            alert('File Upload Success!');
            $('#imgsrc').attr("src", e);
            $('#img').val(e);
        } else {
            alert('File Failed, Upload File of Size < 1MB');
        }
    } ,
    error: function(e) { alert('error' + e.message); } ,
    // Form data
    data: formData,
    //Options to tell jQuery not to process data or worry about content-type.
    cache: false,
    contentType: false,
    processData: false
});

而不是转到其他地方,回复bad&amp; No。它会显示File Upload Success!,并在不同的失败时将图片src添加为badNo

我是否做错了If else: -

来自upload.php的回复有: - FileNamebad和&amp; No

由于

3 个答案:

答案 0 :(得分:9)

您的||应为&&

你是说:如果答案不是这个或不是那个 - 根据定义,这总是正确的。

答案 1 :(得分:2)

您需要&&,因为您正在使用或(||)上面

如果eBad,那么它是not No ....如果eNo,那么它是not Bad。 ..so NoBad将始终进行过滤。

if (e != "bad" || e != "No") {

应该是......

if (e != "bad" && e != "No") {

答案 2 :(得分:0)

e 错误。您的if语句始终为true,因为当 e No 时,它显然不是 Bad 并且您使用or(||)运算符。所以,你说的是:“如果 e 不是或者,则认为这是真的。

使用:

if (e != "bad" && e != "No") {