1

我有以下代码:

$.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& No。它在不同的故障上显示File Upload Success!和添加图像srcbad和。No

If else 我做错了什么吗:-

upload.php 的响应是 :- FileName, bad, & No

谢谢

4

3 回答 3

10

||应该是&&

您是在说:如果响应不是这个或不是那个 - 根据定义,这总是正确的。

于 2013-10-01T12:33:23.760 回答
2

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

如果eis Bad,那么它就是not No....if eis No,那么它就是not Bad...soNoBad 将始终过滤掉。

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

应该...

if (e != "bad" && e != "No") {
于 2013-10-01T12:33:30.237 回答
0

eNoBad。您的 if 语句始终为真,因为当eNo时,它显然不是Bad并且您使用 or (||) 运算符。因此,您是在说:“如果 e不是No或者它不是Bad ,则将此视为真的。

利用:

if (e != "bad" && e != "No") {
于 2013-10-01T12:35:51.633 回答